??????????????Linux?????????????????????????δ???е???????
????#include<unistd.h>
????#include<stdio.h>
????#include<string.h>
????#include<stdlib.h>
????#include<stdarg.h>
????#include<errno.h>
????#define LEN 2
????void err_exit(char*fmt??...);
????int main(int argc??char*argv[])
????{
????pid_t pid;
????int loop;
????for(loop=0;loop<LEN;loop++)
????{
????if((pid=fork())<0)
????err_exit("[fork:%d]:"??loop);
????else if(pid==0)
????{
????printf("Child process ");
????}
????else
????{
????sleep(5);
????}
????}
????return 0;
????}
?????????γ??????3??????????????????????????20?к?????????return 0;???????????????????????????????????????????C????????洢??????????fork??????????????????(?????CS)?????????????е?????????????????????????????????
??????????????????????C?????洢????????????????
?????????????UNIX???????????7.6???
?????????C????????????????????????У?????????е?????????????????????????????????????????в???????????????Σ????????δ??????????????Σ????氤??????????η???????????
???????????????????в???????Щ?????Unix????????????(????$PATH)?????main?????????(argv?????????????)??
????????Σ?????????C?????ж?????????????????г??????????????δ?????????????У??????????????exec????0??????????????????????У????????????exec???????????ж??????????????????????????????????е??????DS????????е??????????????????????
????????????????????????????????????C????????malloc????????????????????????
????????Σ?C????????????????е?????????????????????????????????У???????????????????????????????е?????CS??????????????
???????????о?????C??????沼???????????????????????????????????á????????????????????????????main??????????????????main???????????main?????????func?????????func???????????(main????????)??func???????????func?????ж????????????????func???????????????Щ?????????У??????ж???func???????????func???????????func?????????????????????????????????????????????????func????????????????????main????????????????????е????SS??
????OK??????C?????洢??????????????????????????????????????????洢????????е?????????????洢????е???????????????????????????????????????????????????????????????????????????????
?????????C??????洢?????????????????????fork????渴????????????????????????????仰?????“????????????????????(?????)???????????????????????Ρ?”??????????????е?????????????????????????????????????????????????????????????????????δ?????????????????δ??????????????????????
????/*??????????3?????????????仰????????????????Ρ????????????????
????*
????*/
????#include<unistd.h>
????#include<stdio.h>
????#include<string.h>
????#include<stdlib.h>
????#include<stdarg.h>
????#include<errno.h>
????#define BUFSIZE 512
????#define LEN 2
????void err_exit(char*fmt??...);
????int main(int argc??char*argv[])
????{
????pid_t pid;
????int loop;
????for(loop=0;loop<LEN;loop++)
????{
????printf("Now is No.%d loop: "??loop);
????if((pid=fork())<0)
????err_exit("[fork:%d]:"??loop);
????else if(pid==0)
????{
????printf("[Child process]P:%d C:%d "??getpid()??getppid());
????}
????else
????{
????sleep(5);
????}
????}
????return 0;
????}
?????????????δ??????????????????????????????????????й????
????????????????????????fork????????????????sleep5??
?????????????????????????????????????????????1.?????1?????????????????????????????????????????????????????????????????????????1?????д?????????????main??{?????е??????????????е????????????????У?????????????????fork?????????????????1?????????????ID????????????ID?????????????????????????????1????????????????????????????11???????1???sleep??
?????????11?????????1??е????????(??fork????)???????????????ID???????ID???????1?????????loop??????1????2????????????2?????????
????????????1sleep??????????loop?????1???????2???????????1????????
???????????????????????????????????????Σ?sleep????????????е??????????????????????????????????????2???????????sleep??sleep???????????????
???????????????2??????????????fork?????У????loop????1?????????????ID???????ID??????????????????????2?????????
??????????????δ???????????????????????????????
????????????loop=%d??????????????е????loop???????????δ???????н?????????
???????????3498??????????????????3499???????1??3500???????11??3501???????2??
????????????????????????????????????????????????????????????“if(pid==0)”??????return 0????????????????????????????1???е????????????????????е????????????????????????????????11??????????????????????????????