Linux

如何殺死作為守護程序啟動的程序?

  • August 12, 2018

我使用foo &.

它輸出如下內容:

[1] 16915

我猜這是程序ID。如何將此數字儲存到名為MY_PROCESS_ID(例如)的變數中?

然後我可以這樣做:

kill $MY_PROCESS_ID

我的程序ID將被殺死。

foo &
bg_pid=$!
kill "$bg_pid"

您還可以將 shell 的內部kill命令與(至少在 的情況下bash)作業編號一起使用:

foo &
kill %1

但這可能並不容易。互動可能更容易。但隨著

kill %+

或者

kill %

你總是得到最後一個。您甚至可以通過部分命令行確定要終止的作業。見man bash; 搜尋塊JOB CONTROL

$!如果最後一個程序在後台啟動,則該變數是 PID。你會這樣做:

foo &
my_process_id=$!

: other stuff ...

kill "$my_process_id"

引用自:https://unix.stackexchange.com/questions/122948