如何杀死作为守护进程启动的进程?

Ion*_*zău 4 linux bash process shell-script

我使用foo &.

它输出类似:

[1] 16915

这是进程ID,我猜。如何将此数字存储到名为MY_PROCESS_ID(例如)的变量中?

然后我可以这样做:

kill $MY_PROCESS_ID
Run Code Online (Sandbox Code Playgroud)

并且我的进程 ID 将被杀死。

Hau*_*ing 5

foo &
bg_pid=$!
kill "$bg_pid"
Run Code Online (Sandbox Code Playgroud)

您还可以将 shell 的内部kill命令与(至少在 情况下bash)作业号一起使用:

foo &
kill %1
Run Code Online (Sandbox Code Playgroud)

但这可能并不容易。交互可能更容易。但是随着

kill %+
Run Code Online (Sandbox Code Playgroud)

或者

kill %
Run Code Online (Sandbox Code Playgroud)

你总是得到最后一个。您甚至可以通过部分命令行识别要终止的作业。见man bash;搜索块JOB CONTROL