请问怎样查看自己写的程序执行的进程的信息?ps?top?

bat603 2005-11-20 10:22:46
源代码如下:很简单:

#include <iostream.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
pid_t pid;
printf("Now only one process \n");
printf("Calling fork...\n");
pid=fork();

if( ! pid )
printf("I`m the child\n");
else if( pid > 0 )
printf( "I`m the parent.child has pid %d\n",pid );
else
printf("Fork fail!\n");


cout << "Hello, World!" << endl;

return EXIT_SUCCESS;
}
请问怎样去查看父进程,子进程的信息,比如它们的ID?用ps,top 都着不到,是怎么回师?
...全文
216 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fytzzh 2005-11-22
  • 打赏
  • 举报
回复
当你执行ps top的时候你的程序都执行完了,当然看不到了。
在程序中读proc文件可以得到进程信息。
minota 2005-11-21
  • 打赏
  • 举报
回复
你如果只想看进程id等信息,就如楼上所说,让进程进入等待,然后ps一下就可以了。如果想看到更多的信息,比如进程空间里的一些东西,如maps,memory,环境变量等详细信息,可以在进程进入等待的时候,察看该进程的id,然后cd /proc/<id> 目录,里面就是所有有关你的进程的信息。
YanDong_8212 2005-11-21
  • 打赏
  • 举报
回复
unix里面有个叫进程会计的东西。
不过不太清楚在linux下怎么用。
gettext 2005-11-20
  • 打赏
  • 举报
回复
你的程序一运行就完了,你那有时间去ps看?最后加一句getchar()试试。
yyy790601 2005-11-20
  • 打赏
  • 举报
回复
ps -Al
其中ppid是父进程pid,
yyy790601 2005-11-20
  • 打赏
  • 举报
回复
干脆在进程里调用getpid(),getppid()查看。

23,127

社区成员

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

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