🦄 refactor(C13, C14, C115): 更新了linux系统开发部分的结构
This commit is contained in:
40
C15-进程/fork1.c
Normal file
40
C15-进程/fork1.c
Normal file
@@ -0,0 +1,40 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
pid_t pid;
|
||||
|
||||
/*
|
||||
* 如果 ./fork1 > /tmp/out
|
||||
* begin会由父进程输出两次
|
||||
* 缓冲问题
|
||||
* 文件时全缓冲
|
||||
*/
|
||||
printf("[%d]Begin!\n", getpid());
|
||||
|
||||
fflush(NULL); // !!! 在fork之前刷新该刷新的流
|
||||
|
||||
pid = fork();
|
||||
if (pid < 0)
|
||||
{
|
||||
perror("fork()");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (pid == 0) // child
|
||||
{
|
||||
printf("[%d]Child is working!\n", getpid());
|
||||
}
|
||||
else // parent
|
||||
{
|
||||
printf("[%d]Parent is working!\n", getpid());
|
||||
}
|
||||
|
||||
printf("[%d]End!\n", getpid());
|
||||
|
||||
// getchar();
|
||||
|
||||
exit(0);
|
||||
}
|
||||
Reference in New Issue
Block a user