2013-02-07 52 views
0

我有几个Nginx的安装在我的服务器上,现在我似乎无法找出其中的当前运行Nginx的是从运行..找出程序从哪里运行?

我有PID是:12530

我可以用它来找到Nginx运行在哪里?

或者还有其他方法吗?

+1

你是什么意思由“跑步”? –

+0

我想要做的就是重新启动当前正在运行的nginx,但我无法找到如何..停止/etc/init.d/nginx停止似乎停止一些其他服务器,因为我的网页仍然在浏览器中加载 – Laine

+0

'readlink -f/proc/12530/exe' –

回答

0

编辑:等待,你有一个PID,它不像以下那样困难。只要看看输出:

$ sudo ls -l /proc/12530/exe 

如果“里的Nginx是由运行”你的意思是“哪个特定的二进制”,你可以使用类似以下内容:

$ sudo lsof | grep nginx | grep txt 
nginx 8100 root txt REG  202,1 7645520 1931225 /usr/sbin/nginx 
... 

。 。它告诉我/usr/sbin/nginx的版本正在运行。您可能需要登录apt-get install lsof

0

看一看/proc/<PID>/。它包含大量有关该过程的信息,并记录在proc(5)中。文件exe将成为可执行文件的符号链接。 I.e:

$ ls -l /proc/11806/exe 
lrwxrwxrwx 1 u u 0 Feb 7 13:15 /proc/11806/exe -> /usr/bin/emacs23-x 

PID 11806正在运行emacs23-x可执行文件。

0

这是怎么回事?

lsof -p <pid> | grep txt