Linux查看进程完整路径的方法

      发布在:前端技术      评论:0 条评论

ps命令查看进程

ps命令用于报告当前系统的进程状态,我们先用ps命令(ps -ef)找出nginx进程的PID号。

[root@sharktech ~]# ps -ef|grep 'nginx'
root     10837     1  0 Nov01 ?        00:00:00 nginx: master process nginx www      10838 10837 24 Nov01 ?        2-17:32:59 nginx: worker process www      10839 10837  0 Nov01 ?        00:00:36 nginx: cache manager process root     10939 10879  0 19:15 pts/1    00:00:00 grep --color=auto nginx

我们可以看到nginx master 的进程ID为10837将其记录下来后面需要使用。

查看进程路径

Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看。上一个步骤我们已经获取nginx进程ID为10837,使用ls命令来查看下有什么东东。

[root@sharktech ~]# ls -l /proc/10837
total 0
dr-xr-xr-x. 2 root root 0 Nov 12 19:19 attr
-rw-r--r--. 1 root root 0 Nov 12 19:19 autogroup-r--------. 1 root root 0 Nov 12 19:19 auxv-r--r--r--. 1 root root 0 Nov 12 19:19 cgroup--w-------. 1 root root 0 Nov 12 19:19 clear_refs-r--r--r--. 1 root root 0 Nov 12 19:19 cmdline-rw-r--r--. 1 root root 0 Nov 12 19:19 comm-rw-r--r--. 1 root root 0 Nov 12 19:19 coredump_filter-r--r--r--. 1 root root 0 Nov 12 19:19 cpuset lrwxrwxrwx. 1 root root 0 Nov 12 19:19 cwd -> /root-r--------. 1 root root 0 Nov 12 19:19 environ lrwxrwxrwx. 1 root root 0 Nov 12 19:19 exe -> /usr/local/nginx/sbin/nginx dr-x------. 2 root root 0 Nov 12 19:19 fd dr-x------. 2 root root 0 Nov 12 19:19 fdinfo

其中我们可以看到exe -> /usr/local/nginx/sbin/nginx,这里的exe软连接所指向的路径usr/local/nginx/sbin/nginx即是nginx进程所在路径。该目录下的文件(夹)含义如下:

  • cwd符号链接的是进程运行目录;

  • exe符号连接就是执行程序的绝对路径;

  • cmdline就是程序运行时输入的命令行命令;

  • environ记录了进程运行时的环境变量;

  • fd目录下是进程打开或使用的文件的符号连接。

来源:https://cloud.tencent.com/developer/article/2071984

相关文章
热门推荐