linux多进程的总结
fork()用于从已存进程中建立一个新进程,新进程为子进程,老进程为父进程.可以通过检查"fork()"地返回值知道哪个是子进程哪个是父进程。父进程得到的返回值是子进程的进程号,而子进程则返回0。
简单理解为,一个进程表示的,就是一个可执行程序的一次执行过程中的一个状态。操作系统
对于单 CPU
fork()用于从已存进程中建立一个新进程,新进程为子进程,老进程为父进程.可以通过检查"fork()"地返回值知道哪个是子进程哪个是父进程。父进程得到的返回值是子进程的进程号,而子进程则返回0。
基本模式是:
#include
#include
#include
#include
#include
#include
main()
{
pid_t pid;
int rv;
pid=fork(); //创建进程
switch(pid)
{
case -1: //返回-1的话,进程创建没成功
perror("fork");
exit(1);
case 0:
printf(" CHILD: This is the child process!\n");
printf(" CHILD: My PID is %d\n", getpid()); //调用 getpid 得到自己的 PID
printf(" CHILD: My parent's PID is %d\n", getppid()); //getppid() 得到父进程的 PID
printf(" CHILD: Enter my exit status (make it small): ");
scanf(" %d", &rv);
printf(" CHILD: I'm outta here!\n");
exit(rv);![]()
文章评论
共有 0人发表了评论 查看完整内容