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

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

...全文
45 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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的源码吧。

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧