找到了pid文件,但未找到匹配的进程。停止流产

时间:2017-08-17 16:53:36

标签: devops confluence devops-services

我试图通过./stop-confluence.sh来阻止汇合,但它显示的错误如此"找到了PID文件,但未找到匹配的进程。停止流产。"所以我尝试使用" kill -9 pid"来杀死这个过程。但它显示" PID:没有找到进程"。任何人都可以告诉我这个过程出了什么问题。

3 个答案:

答案 0 :(得分:0)

你可以列出进程和grep汇合并将其杀死,如ps -ef|grep confluence然后使用pid kill it kill -9 2132

答案 1 :(得分:0)

要了解发生了什么,您必须了解该进程的init脚本。在你的情况下,它来自confluence。因此,当deamon或unix进程/服务启动时,它是一种流行的方式/设计来创建将保存pid(进程ID)的pid文件。这是您在ps输出中看到的数字。

现在由于一些错误的原因,当进程/ deamon死亡或退出时,它会将pid文件留在系统中。因此,当您尝试停止服务时,它会抛出异常:PID file found but no matching process was found. Stop aborted.

理想情况下,当进程退出时,必须通过它删除pid文件。

最后关于你如何解决这个问题,没有一种方法可以解决它。您必须查看服务启动时执行的init脚本。找出服务死亡的原因(除非有人故意杀死它)。如果停止服务离开pid文件,问题在于init脚本。你需要解决它。

希望这有帮助!

答案 2 :(得分:0)

在我的情况下,失败的原因是

中的第二个启动脚本
  

的/etc/init.d /

在原始脚本完成后第二次尝试启动Jira。

$ sudo ll /etc/init.d/ | grep jira
-rwxr-xr-x 1 root root  261 * * * jira
-rwxr-xr-x 1 root root  261 * * * jira1

我已禁用" jira1"通过执行

启动脚本
$ sudo chmod -x /etc/init.d/jira1
$ sudo ll /etc/init.d/ |grep jira
-rwxr-xr-x 1 root root  261 * * * jira
-rw-r--r-- 1 root root  261 * * * jira1

这样,第二个实例将不会在服务器启动时启动。您也可以删除第二个启动脚本,但请在执行任何破坏性操作之前备份它。