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的东西     

要回复问题请先登录注册