我试图通过./stop-confluence.sh来阻止汇合,但它显示的错误如此"找到了PID文件,但未找到匹配的进程。停止流产。"所以我尝试使用" kill -9 pid"来杀死这个过程。但它显示" PID:没有找到进程"。任何人都可以告诉我这个过程出了什么问题。
答案 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
这样,第二个实例将不会在服务器启动时启动。您也可以删除第二个启动脚本,但请在执行任何破坏性操作之前备份它。