linux多进程的总结

时间:2008-05-28 22:43:10  来源:  作者:

fork()用于从已存进程中建立一个新进程,新进程为子进程,老进程为父进程.可以通过检查"fork()"地返回值知道哪个是子进程哪个是父进程。父进程得到的返回值是子进程的进程号,而子进程则返回0。


简单理解为,一个进程表示的,就是一个可执行程序的一次执行过程中的一个状态。操作系统对进程的管理,典型的情况,是通过进程表完成的。进程表中的每一个表项,记录的是当前操作系统中一个进程的情况。

对于单 CPU的情况而言,每一特定时刻只有一个进程占用 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);

Tags:


文章评论

共有 0人发表了评论 查看完整内容

推荐教程

最新教程