LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1009|回复: 5

请问怎样用程序实现得到所有正在运行的进程号及名字?

[复制链接]
发表于 2004-11-12 11:25:31 | 显示全部楼层 |阅读模式
相当于ps -A怎样实现的
发表于 2004-11-12 11:41:04 | 显示全部楼层
这种东西和系统平台是有关的,最好还是分析ps -A命令执行的返回结果,以保证程序的可移植性。
 楼主| 发表于 2004-11-12 12:21:34 | 显示全部楼层
但是不想通过把ps -A结果输出到文件然后再从文件中读取啊
可不可以通过读/proc中的某些信息或者系统调用实现
发表于 2004-11-13 15:31:38 | 显示全部楼层
可以。在proc目录下目录名为数字的就是各个进程对应的目录。里面包含有各个进程的所有信息。
发表于 2004-11-13 17:00:05 | 显示全部楼层
#!/bin/bash

printf 'PID\t\tFILE\n'
for s in /proc/[1-9]*
do
        printf '%s\t\t%s\n'     $(basename $s) $(readlink $s/exe)
done
发表于 2004-11-13 17:01:34 | 显示全部楼层
PID             FILE
1               
1025            /usr/bin/vim
131            
132            
1337            
138            
149            
1631            /bin/bash
19              
2               
20              
3               
32              
33              
34              
35              
4        552             /bin/bash
559             /bin/bash
571             /usr/X11R6/bin/xinit
572            
577             /usr/bin/WindowMaker
613            
615             /usr/bin/wmcpuload
616             /usr/bin/wmclock
617             /usr/bin/wmnd
620             /usr/local/bin/fcitx
623             /bin/bash
638             /bin/bash
643             /home/coder/bin/firefox/firefox-bin
649             /usr/lib/gconf2/gconfd-2
680            
749             /usr/bin/xmms
778            
780             /bin/bash
884            
886             /bin/bash
      


有些 s-link 的 target  非 root 没权限读到
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表