scripts/nvmf_perf: kill process after timeout

If SIGTERM does not work - use SIGKILL and clean up
any remaining socket files.

Change-Id: I1a4f2e49a8a43f3eed19e09e16d4ee3420cd31f7
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13739
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Michal Berger <michal.berger@intel.com>
This commit is contained in:
Karol Latecki 2022-07-21 07:18:24 +00:00 committed by Tomasz Zawadzki
parent 1950f399e1
commit b0997a590a

View File

@ -1275,11 +1275,19 @@ class SPDKTarget(Target):
if hasattr(self, "nvmf_proc"):
try:
self.nvmf_proc.terminate()
self.nvmf_proc.wait()
self.nvmf_proc.wait(timeout=30)
except Exception as e:
self.log_print("Failed to terminate SPDK Target process. Sending SIGKILL.")
self.log_print(e)
self.nvmf_proc.kill()
self.nvmf_proc.communicate()
# Try to clean up RPC socket files if they were not removed
# because of using 'kill'
try:
os.remove("/var/tmp/spdk.sock")
os.remove("/var/tmp/spdk.sock.lock")
except FileNotFoundError:
pass
class KernelInitiator(Initiator):