任务在杀死后仍在运行

任务在杀死后仍在运行

我正在 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可能以某种方式“失去了对服务的控制”。例如,如果可执行文件的路径发生更改,则可能会发生这种情况。但是,如果进程即使在被杀死后仍在重新生成,则:

  1. systemd仍在通过(另一个)自动重启服务控制程序。
  2. 其他一些守护进程正在玩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

从那里开始,您可以设法停止/终止该程序。

相关内容