使用proc查看进程属性

写本篇博客的初衷

我有一个阿里云ECS,给一个师妹也开了一个账号,最近发现可能重启比较严重。刚好在测试自己写的一个文件存储网络,ssh断开后一下子忘记了源码目录了。

ssh重连后,发现进程是daemon。这就放心了。可执行文件还在,那么源码应该也是在的。
先获取进程id

[root@localhost ~]# ps -aux | grep ipfs
root     13115  0.0  0.0 138680   764 ?        Ssl  17:36   0:00 ./bin/ipfs --daemon
root     13526  0.0  0.2 110280  2084 pts/1    S+   18:15   0:00 grep --color=auto ipfs
[root@localhost ~]#

进入进程的proc目录:

[root@localhost ~]# cd /proc/13115/cwd/
[root@localhost 13115]# ls
attr       clear_refs       cpuset   fd       limits     mem         net        oom_score      projid_map  sessionid     stack   syscall        uid_map
autogroup  cmdline          cwd      fdinfo   loginuid   mountinfo   ns         oom_score_adj  root        setgroups     stat    task           wchan
auxv       comm             environ  gid_map  map_files  mounts      numa_maps  pagemap        sched       smaps         statm   timers
cgroup     coredump_filter  exe      io       maps       mountstats  oom_adj    personality    schedstat   smaps_rollup  status  timerslack_ns
[root@localhost 13115]#

差看绝对路径:

[root@localhost 13115]# ll exe 
lrwxrwxrwx. 1 root root 0 Sep 30 17:36 exe -> /root/c++/ipfs-cxx/build/bin/ipfs
[root@localhost 13115]#

源码绝对路径:

[root@localhost 13115]# cd /root/c++/
[root@localhost c++]# cd ipfs-cxx
[root@localhost ipfs-cxx]# ls
build  CMakeLists.txt  include  README.md  src
[root@localhost ipfs-cxx]# ll
total 28
drwxr-xr-x. 4 root root 4096 Sep 30 17:34 build
-rw-r--r--. 1 root root 8817 Sep 27 12:11 CMakeLists.txt
drwxr-xr-x. 2 root root 4096 Sep 27 17:44 include
-rw-r--r--. 1 root root 1563 Sep 30 16:44 README.md
drwxr-xr-x. 9 root root 4096 Sep 30 17:02 src
[root@localhost ipfs-cxx]#

当然,proc不仅可以看文件路径,它可以查看进程的所有资源(文件、网络、线程、进程、锁、环境变量、用来控制硬件例如led灯,键盘,鼠标等),做的事情很多。比如/proc/xxxxid/fd/目录下面,就是进程打开的所有文件描述符。task/下面是线程Id。

发布了61 篇原创文章 · 获赞 63 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jacky128256/article/details/101784727