Linux 查找由nohup命令运行的进程

Linux 查找由nohup命令运行的进程,linux,process,background,ps,nohup,Linux,Process,Background,Ps,Nohup,我使用以下命令在Centos中运行服务器可执行文件“nohup server&”。现在我需要终止进程“服务器”。但是我尝试了“ps-a”命令来获取PID,但是我无法获取进程。现在如何立即杀死“服务器”?在centos中启动服务器的最佳方法是使用service命令 所以 服务httpd启动 您可能希望将程序编写为守护进程 守护进程(或服务)是设计用于运行的后台进程 自主地,很少或不需要用户干预。ApacheWeb 服务器http守护程序(httpd)就是这样一个守护程序示例。它等待着 在后台监听特

我使用以下命令在Centos中运行服务器可执行文件
“nohup server&”
。现在我需要终止进程
“服务器”
。但是我尝试了
“ps-a”
命令来获取
PID
,但是我无法获取进程。现在如何立即杀死
“服务器”

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

所以
服务httpd启动

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

守护进程(或服务)是设计用于运行的后台进程 自主地,很少或不需要用户干预。ApacheWeb 服务器http守护程序(httpd)就是这样一个守护程序示例。它等待着 在后台监听特定端口,并提供页面或 根据请求的类型处理脚本


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

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

nohup server &
print $! >> my_server.pid

借助
ps
命令,没有确定的方法可以捕捉到确切的过程,但您可以使用以下方法:

ps -a | grep "server"
您将获得名为“服务器”的所有进程的列表


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

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

# lsof nohup.out
它将返回创建/运行该文件的pid


致以最良好的祝愿

ps auxwww | grep-i“server”应该返回所有包含“server”的进程。否则,服务器可能已经停止。@Usman saleem谢谢,这解决了我的问题。我还有一个疑问,“nohup server&”是一个正确的命令,即使我关闭终端也可以运行进程后台?@Mikhail谢谢,这解决了我的问题。我还有一个疑问,“nohup server&”是正确的命令,即使我关闭终端也可以运行后台进程?是的,您可以在调用命令时确定正确的PID:“nohup server&”后跟“print$!>>server_pid_file‘是的,使用nohup命令意味着您的‘服务器’进程将丢弃操作系统在您关闭终端时发送的‘HUP’中断。它还将丢弃“kill-HUP pid”或“kill-1 pid”。我只需要运行我的可执行后台文件?您能举个例子吗?@2vision2您想像编写linux守护程序一样编写程序,请参见