我试图启动一个进程,虽然ps -ef | grep myprocessname没有显示它正在运行,但当我调用脚本启动它时,它表示进程已经在运行,正在退出。linux - 进程已经在运行的错误
我搜索了大约一个小时的互联网,我找不到任何答案。谁能帮忙?谢谢。
@TILO:在/ var/run下没有名称甚至接近我的进程的文件。还有其他建议吗?
@VKRAM:这是第三方软件。有什么建议么?
我试图启动一个进程,虽然ps -ef | grep myprocessname没有显示它正在运行,但当我调用脚本启动它时,它表示进程已经在运行,正在退出。linux - 进程已经在运行的错误
我搜索了大约一个小时的互联网,我找不到任何答案。谁能帮忙?谢谢。
@TILO:在/ var/run下没有名称甚至接近我的进程的文件。还有其他建议吗?
@VKRAM:这是第三方软件。有什么建议么?
如果您尝试启动的进程存在.pid文件,请在/ var/run下进行检查。
例如/var/run/mysqld/mysqld.pid就是这样一个文件。
该文件包含进程的PID ...
运行 PS -edaf | grep的PID#你在文件中找到PID
如果过程没有找到,你可以删除PID文件 - 然后再尝试启动您的进程再次
尝试使用上有问题的程序strace的:
strace yourprogram
不久就终止之前,你应该看到的系统调用它来确定另一个实例正在运行,并且可以从那里反向工程它正在使用的方法。
你说你不能找到PID文件...
如果你不能找到PID文件(也许是因为一些在/ var /目录运行的是深层嵌套) , 试试这个,看看在那里所有的PID文件的列表:
查找/ var/run中型的F -name '* .pid'
查找/无功型的F -name“*。 pid'
也许哟你会看到一个与你试图启动的进程名称相似的文件名。 或者您也可以在该行的末尾加上grep,并尝试grep列表中的进程名称。
一些程序把也使用锁文件 - 这些都可以在/ var /锁/或/ var /锁/子系统
通常被发现如果不帮助,尝试一下在开始 - 你正在使用的脚本,例如详细/etc/init.d/中 看它下,寻找类似LOCK_FILE或PID_FILE
过程是怎样的,你正在运行?相关? – vkrams 2011-05-26 03:03:15
由于这是第三方程序(=最终用户支持),因此可能属于超级用户 - 已投票迁移 – bdonlan 2011-05-26 03:21:10
此外,具体是哪个程序? – bdonlan 2011-05-26 03:21:23