怎么能得到一个给定进程(已知进程ID)的一些系统参数,发言就给分!

dchg2000 2004-01-07 11:50:48
已知一个进程ID(如1300),通过它我想得到该进程的以下参数
1、执行用户
2、运行该程序的路径
3、运行的参数
4、CPU占有率
5、内存占有率
6、程序运行的时间
7、程序的子进程和线程数量

...全文
14 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
loveisbug 2004-01-07
进程控制块,扩充进程控制块
回复
dchg2000 2004-01-07
大家发言呀,什么方法都可以说!
回复
dchg2000 2004-01-07
我希望有现成的函数,大家想想法子吧!
回复
dchg2000 2004-01-07
老兄你给我说说用哪个函数呀,在acct.h文件里就一个函数呀,
而且好像用不上!
回复
longenic 2004-01-07
会计结构体如下:

typedef u_short comp_t /*3-bit base 8 exponent; 13bit fraction */

struct acct
{
char ac_flag; /* flag*/
char ac_stat; /* termination status */
uid_t ac_uid ; /* real user ID */
uid_t ac_gid ; /* real group ID*/
dev_t ac_tty ; /* controlling terminal */
time_t ac_btime; /* starting calendar time */
comp_t ac_utime; /* user cpu time */

......... /* 其他的你就自己去看看吧,太多了,难写*/
};


在这里面你可以找到你想要的信息

good luck
回复
longenic 2004-01-07
你是想通过程序得到吗?

==================================
很多UNIX系统提供了一个选择项以进行进程计事务处理。当取了这种选择后,内核就会写一个会计记录,典形的会计记录是32字节长的二进制数据,包括命令名,所使用的CPU时间总量,用户ID,和组ID,起动时间等,

会计记录的结构体在<sys/acct.h>中
回复
verymorose 2004-01-07
看/PROC/1300目录,有你想要的部分信息,看status文件,里边内容比较多
回复
fierygnu 2004-01-07
楼主你直接看ps的源码吧。
回复
相关推荐
发帖
Linux/Unix社区
创建于2007-08-27

2.0w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2004-01-07 11:50
社区公告
暂无公告