找到nohup命令运行的进程

时间:2013-01-04 06:03:24

标签: linux process background ps nohup

我使用以下命令"nohup server &"在Centos中运行服务器可执行文件。现在我需要杀死进程"server"。但我尝试"ps -a"命令来获取PID,但我无法得到这个过程。现在如何杀死"server"

4 个答案:

答案 0 :(得分:15)

ps auxwww|grep -i 'server'应该返回其中包含server的所有进程。否则,服务器可能已经停止。

您应该能够确定PID(并将其存储在文件中),如下所示:

nohup server &
print $! >> my_server.pid

答案 1 :(得分:12)

如果创建了nohup.out文件,则可以在bash中运行:

# lsof nohup.out

它将返回创建/正在运行文件的pid

最好的问候!

答案 2 :(得分:2)

ps命令的帮助下,没有明确的方法来捕获确切的过程,但您可以使用以下内容:

ps -a | grep "server"

您将获得名为“server”

的所有进程列表

或者,您也可以使用任何其他关键字来输出ps输出。

答案 3 :(得分:1)

在centos中启动服务器的最佳方法是使用service命令。

所以 service httpd start

您可能希望将程序编写为守护程序

  

守护程序(或服务)是一个旨在运行的后台进程   自主地,很少或没有用户干预。 Apache网站   服务器http守护进程(httpd)就是守护进程的一个这样的例子。它等待   在后台监听特定端口,并提供页面或   根据请求的类型处理脚本。

请参阅http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html