我使用 启动一个进程foo &
。
它输出类似:
[1] 16915
我猜这是进程ID。如何将此数字存储到名为MY_PROCESS_ID
(例如)的变量中?
然后我可以这样做:
kill $MY_PROCESS_ID
我的进程ID将被杀死。
答案1
foo &
bg_pid=$!
kill "$bg_pid"
您还可以将 shell 的内部命令与作业编号kill
(至少在 的情况下)一起使用:bash
foo &
kill %1
但这可能并不容易。交互可能更容易。但与
kill %+
或者
kill %
你总是得到最后一个。您甚至可以通过部分命令行来识别要终止的作业。看man bash
;搜索该块JOB CONTROL
。
答案2
$!
如果最后一个进程在后台启动,则该变量是 PID。你会这样做:
foo &
my_process_id=$!
: other stuff ...
kill "$my_process_id"