明明两个进程在运行,但只可以看见一个进程号!为什么?

royalier 2003-12-03 01:34:10
自己写的一个服务程序,fork成两个进程之后,
通过ps -ef的时候,只看到一个进程在运行,但是看里面的两个进程打印的日志里,显示打印出了各自的进程号(用getpid()得到的,每分钟打印一次),还有一个进程看不到,!不知道为什么?
哪位大侠遇到过这样的问题!?我用的是redhat 9.0的。
...全文
54 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fierygnu 2003-12-09
  • 打赏
  • 举报
回复
cablist(cablist):man fork看看再发言。
cablist 2003-12-09
  • 打赏
  • 举报
回复
呵呵!
你的子进程一定没有初始化,所以和父进程的ID一样
FORK()是将父进程全盘复制了
使用系统EXECTE()(可能打错了)可以使子进程脱离父进程
yudang 2003-12-09
  • 打赏
  • 举报
回复
或者使用top命令查看进程号。
fierygnu 2003-12-09
  • 打赏
  • 举报
回复
哦,进程没退出?接管了SIGTERM?
royalier 2003-12-09
  • 打赏
  • 举报
回复
就是直接kill 进程号呀
fierygnu 2003-12-05
  • 打赏
  • 举报
回复
用kill发送了什么信号?0?
royalier 2003-12-05
  • 打赏
  • 举报
回复
呵呵,用kill 命令之后,两个进程就都可以看到了
little_long 2003-12-04
  • 打赏
  • 举报
回复
到/proc目录下看看进程号。每一个进程对应一个目录
gmy9812 2003-12-04
  • 打赏
  • 举报
回复
请使用pstree命令,就可以看到了
kangjian1 2003-12-04
  • 打赏
  • 举报
回复
建议你写个最简单的程序验证一下.
如:
main()
{
if(fork()==0) for(;;);
for(;;);
}
sealei 2003-12-03
  • 打赏
  • 举报
回复
也许是自己结束了进程
royalier 2003-12-03
  • 打赏
  • 举报
回复
codes太多了,要是代码出错的话,倒还好一些,也没有发现产生有core文件
blh 2003-12-03
  • 打赏
  • 举报
回复
your codes

23,116

社区成员

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

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