|
|
|
|
|
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"); } } |
|
|
上面这位兄弟的程序好象有问题啊。
怎么能将fork()放到for循环里面呢,那样程序运行完了都不知道有多少进程了啊 还有楼主对循环描述的好象不是很清楚, 不过大概可以这样做,在fork后,就有了两个进程了,根据返回值不一样类区分是主进程还是字进程 先让子进程调用waitpid()来等待父进程打印,然后自己打印两次 |
|
|
谢谢二位朋友的解答,因为本人确实不知道fork函数的具体使用方法,所以也不知道究竟该如何做.To syanyszy(星星谷主) 循环是这样的:父进程和子进程共循环三次,这是最外层的循环,然后里面做这样的事情:父进程显示一次一条语句,然后子进程显示二次一条语句.
很谢谢你的讲解,真的很感谢,希望你能有空还一看一看这个贴子. |
|
|
我有一本书,其中讲得很详细,给我你的EM。我给你发过去。
|
|
|
简单地说,一次调用两次返回:返回0是child,返回非0是parent(<0失败,大于0成功)。循环里fork的,在子进程里要exit或break。
|
|
|
TO: yhbttfile(小兵),谢谢!我的电子信箱是:lxz81@163.com
再次谢谢回贴的朋友们,谢谢你们给我的帮助!小兵,我等你的电邮! |
|
|
买一本《Linux进程间通信》
上面有详细的解释 |
|
|
小兵:你为什么不给我发邮件呀!明天下午就要上机了呀!希望你现在在线能够看到我的贴子,我等你的电邮!
|
|
|
mk
|
|
|
怎么没有人告诉我了呀!
今天老师说,考试的时候有十分的上机实验题呀! 但到目前为止这道题我还不会呀! |
|
|
在Linux下面看看man pages就能搞定这个问题吧。其实我觉得这个问题所有关于Linux编程的书上都有详细讲解的,可能楼主不爱读书吧。
|
|