![任务在杀死后仍在运行](https://linux22.com/image/86300/%E4%BB%BB%E5%8A%A1%E5%9C%A8%E6%9D%80%E6%AD%BB%E5%90%8E%E4%BB%8D%E5%9C%A8%E8%BF%90%E8%A1%8C.png)
我正在 centos 中使用 nginx 运行 kibana 服务。基巴纳部署-我跟着这个。
当我检查 Kibana 状态时,我发现没有运行,
但是当我看到它使用时,ps -eaf | grep kibana
我得到了下面的 PID 和运行状态,
kibana 20185 1 0 04:28 ? 00:00:03 /opt/kibana/bin/../node/bin/node /opt/kibana/bin/../src/cli
我尝试使用杀死该进程,kill 20185
但它正在使用一些新的 PID 并再次运行。
如何终止正在运行的任务(即即使在kill pid注释后也自动运行)
答案1
systemd
可能以某种方式“失去了对服务的控制”。例如,如果可执行文件的路径发生更改,则可能会发生这种情况。但是,如果进程即使在被杀死后仍在重新生成,则:
systemd
仍在通过(另一个)自动重启服务控制程序。- 其他一些守护进程正在玩
systemd
游戏并重生该进程。
如果我们看看你的ps -eaf
输出......
kibana 20185 1 0 04:28 ? 00:00:03 /opt/kibana/bin/../node/bin/node /opt/kibana/bin/../src/cli
这给了我们一些重要的细节:
- 进程的 ID 是
20185
。 - 进程的父进程的 ID 是
1
。
由于 PPID 是1
,我们可以放心地假设它systemd
是负责的。所以,这个命令应该告诉你哪个单元正在控制该过程......
$ systemctl status 20185
从那里开始,您可以设法停止/终止该程序。