如何解决linux-进程已运行错误
| 我正在尝试启动一个进程,尽管ps -ef | grep myprocessname没有显示它正在运行,但是当我调用脚本启动它时,它说进程已经在运行,正在退出。 我已经在互联网上搜索了大约一个小时,但找不到任何答案。有人可以帮忙吗?谢谢。 @TILO:/ var / run下没有文件甚至与我的进程相近的名称。还有其他建议吗? @VKRAM:这是第三方软件。有什么建议么?解决方法
检查/ var / run下是否有您要启动的进程的.pid文件。
例如/var/run/mysqld/mysqld.pid就是这样的文件。
该文件包含进程的PID ...
运行
ps -edaf | grep PID#和您在文件中找到的pid
如果找不到该进程,则可以删除pid文件-然后尝试再次启动该进程
,尝试在有问题的程序上使用strace:
strace yourprogram
在终止之前不久,您应该看到用于确定另一个实例正在运行的系统调用,并且可以从那里对所使用的方法进行反向工程。
,您说找不到PID文件...
如果找不到PID文件(可能是因为/ var / run下的某些目录是深度嵌套的),
尝试此操作以查看其中所有PID文件的列表:
查找/ var / run -type f -name \'*。pid \'
找到/ var -type f -name \'*。pid \'
也许您会看到一个类似于您尝试启动的进程名称的文件名。
或者,您也可以在该行的末尾放置一个grep,然后尝试在列表中使用grep作为进程名称。
有些程序还使用了锁定文件-通常可以在/ var / lock /或/ var / lock / subsystem下找到这些文件
如果这样做没有帮助,请尝试查看您正在使用的开始脚本,例如在/etc/init.d/下
详细查看并查找类似LOCK_FILE或PID_FILE的东西
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。