2

我试图通过 ./stop-confluence.sh 停止融合,但它显示类似“找到 PID 文件但未找到匹配进程。停止中止”的错误。所以我尝试用“kill -9 pid”杀死该进程,但它显示“PID:找不到进程”。谁能告诉我这个过程出了什么问题。

4

3 回答 3

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

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

于 2018-04-08T17:30:39.407 回答
0

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

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

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

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

希望这可以帮助!

于 2017-08-18T20:59:55.020 回答
0

您可以列出进程和 grep confluence 并像这样ps -ef|grep confluence将其杀死,然后使用 pid kill 它kill -9 2132

于 2017-08-18T09:18:34.350 回答