【问题标题】:Find out where program is running from? [duplicate]找出程序从哪里运行? [复制]
【发布时间】:2013-01-23 07:39:30
【问题描述】:

我的服务器上安装了几个 Nginx,现在我似乎无法弄清楚当前正在运行的 Nginx 是从哪里运行的..

我的 PID 是:12530

我可以用它来找出 Nginx 是从哪里运行的吗?

或者还有其他方法吗?

【问题讨论】:

  • 你说的“跑从”是什么意思?
  • 我要做的就是重新启动当前正在运行的 nginx,但我不知道如何.. 使用 /etc/init.d/nginx stop 停止似乎会停止其他一些服务器,因为我的页面仍然在浏览器中加载
  • readlink -f /proc/12530/exe
  • 如果你想在应用程序运行时看到“当前环境文件夹”,你查看/proc//environ文件的PWD。​​span>

标签: linux ubuntu


【解决方案1】:

编辑:等等,你有一个 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

【讨论】:

    【解决方案2】:

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

    $ 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 可执行文件。

    【讨论】:

      【解决方案3】:

      这个怎么样?

      lsof -p <pid> | grep txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-08
        • 2014-05-25
        • 2016-09-06
        • 2018-11-25
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        相关资源
        最近更新 更多