我使用以下命令在 Centos 中运行服务器可执行文件"nohup server &"
。现在我需要终止进程"server"
。但是我尝试"ps -a"
了命令来获取PID
但我无法获取该过程。现在怎么杀了"server"
现在?
问问题
42001 次
4 回答
19
ps auxwww|grep -i 'server'
应该返回其中包含的所有进程server
。否则,服务器可能已经停止。
您应该能够确定 PID(并将其存储在文件中),如下所示:
nohup server &
print $! >> my_server.pid
于 2013-01-04T06:11:29.413 回答
15
如果创建了 nohup.out 文件,您可以在 bash 中运行:
# lsof nohup.out
它将返回创建/正在运行文件的 pid
最好的祝福!
于 2014-08-20T15:44:20.317 回答
5
没有明确的方法可以在ps
命令的帮助下捕获确切的过程,但您可以使用以下命令:
ps -a | grep "server"
您将获得以“服务器”名称运行的所有进程的列表
或者,您也可以使用任何其他关键字来 grep ps 输出。
于 2013-01-04T07:09:15.160 回答
1
在 centos 中启动服务器的最佳方式是使用 service 命令。
所以
service httpd start
您可能希望将程序编写为守护进程
守护程序(或服务)是一个后台进程,旨在自主运行,几乎不需要用户干预。Apache Web 服务器 http 守护程序 (httpd) 就是这样的守护程序示例之一。它在后台等待侦听特定端口,并根据请求的类型提供页面或处理脚本。
见http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html
于 2013-01-04T06:09:36.420 回答