fork函数的使用?

lxz81 2003-10-16 10:21:01
今年学习操作系统,上机实验的系统是LINUX,偏偏老师出了一道在书上没有写的上机题目,要我们用fork函数创建进程,题目是这样的:父进程和子进程共循环三次,每次循环做,父进程先显示一次"These are parants", 然后子进程显示二次"Hi,This is a child".我上网查了很多资料但总是没有找到一篇具体描述fork使用方法的,无奈救助于各位大哥,希望各位能够帮帮小弟,写出源程序也可,告诉我如何使用fork也可,在此谢过了! :)
...全文
232 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
numchun 2003-10-31
  • 打赏
  • 举报
回复
在Linux下面看看man pages就能搞定这个问题吧。其实我觉得这个问题所有关于Linux编程的书上都有详细讲解的,可能楼主不爱读书吧。
lxz81 2003-10-29
  • 打赏
  • 举报
回复
怎么没有人告诉我了呀!
今天老师说,考试的时候有十分的上机实验题呀!
但到目前为止这道题我还不会呀!
liuty2006 2003-10-21
  • 打赏
  • 举报
回复
mk
darkevil 2003-10-19
  • 打赏
  • 举报
回复
买一本《Linux进程间通信》
上面有详细的解释
lxz81 2003-10-19
  • 打赏
  • 举报
回复
小兵:你为什么不给我发邮件呀!明天下午就要上机了呀!希望你现在在线能够看到我的贴子,我等你的电邮!
lxz81 2003-10-18
  • 打赏
  • 举报
回复
谢谢二位朋友的解答,因为本人确实不知道fork函数的具体使用方法,所以也不知道究竟该如何做.To syanyszy(星星谷主) 循环是这样的:父进程和子进程共循环三次,这是最外层的循环,然后里面做这样的事情:父进程显示一次一条语句,然后子进程显示二次一条语句.
很谢谢你的讲解,真的很感谢,希望你能有空还一看一看这个贴子.
lxz81 2003-10-18
  • 打赏
  • 举报
回复
TO: yhbttfile(小兵),谢谢!我的电子信箱是:lxz81@163.com

再次谢谢回贴的朋友们,谢谢你们给我的帮助!小兵,我等你的电邮!
fierygnu 2003-10-18
  • 打赏
  • 举报
回复
简单地说,一次调用两次返回:返回0是child,返回非0是parent(<0失败,大于0成功)。循环里fork的,在子进程里要exit或break。
yhbttfile 2003-10-18
  • 打赏
  • 举报
回复
我有一本书,其中讲得很详细,给我你的EM。我给你发过去。
qingbt 2003-10-17
  • 打赏
  • 举报
回复
main(){
for(int i=0;i<3;i++){
int id=fork();
if(id==0) printf("Hi,This is a child\n");
wait((int *)0);
printf("These are parants\n");
}
}
syanyszy 2003-10-17
  • 打赏
  • 举报
回复
上面这位兄弟的程序好象有问题啊。
怎么能将fork()放到for循环里面呢,那样程序运行完了都不知道有多少进程了啊
还有楼主对循环描述的好象不是很清楚,
不过大概可以这样做,在fork后,就有了两个进程了,根据返回值不一样类区分是主进程还是字进程
先让子进程调用waitpid()来等待父进程打印,然后自己打印两次

23,110

社区成员

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

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