<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. Linux下子進程與父進程的關系

    時間:2024-10-10 01:33:15 Linux認證 我要投稿
    • 相關推薦

    Linux下子進程與父進程的關系

      我們知道,Linux下父進程可以使用fork 函數創建子進程,但是當父進程先退出后,子進程會不會也退出呢?到底Linux下父進程和子進程的關系如何呢?下文為大家分享最新代碼如下:

      通過下面這個小實驗,我們能夠很好的看出來:

      復制代碼

      /******** basic.c ********/

      1 #include "basic.h"

      2

      3 pid_t Fork(void)

      4 {

      5 pid_t pid = fork();

      6 if (pid < 0) {

      7 fprintf(stderr, "Fork error: %s\n", strerror(errno));

      8 exit(0);

      9 }

      10

      11 return pid;

      12 }

      復制代碼

      1 ********** basic.h ***********

      2

      3 #ifndef __CSAPP_BASIC_H

      4 #define __CSAPP_BASIC_H

      5

      6 #include

      7 #include

      8 #include

      9 #include

      10 #include

      11 #include

      12 /* function definition concerned with basic.c */

      13 pid_t Fork();

      14

      15 #endif

      復制代碼

      1 ******* fork.c *********

      2

      3 #include "basic.h"

      4

      5 int main()

      6 {

      7 int pid = Fork();

      8 int x = 2;

      9

      10 if (pid == 0) {

      11 printf("child: pid = %d, ppid = %d, x = %d\n", getpid(), getppid(), ++x);

      12 sleep(3);

      13

      14 printf("child: pid = %d, ppid = %d, x = %d\n", getpid(), getppid(), ++x);

      15 exit(0);

      16 }

      17

      18 printf("parent: pid = %d, ppid = %d, x = %d\n", getpid(), getppid(), --x);

      19

      20 }

      通過 gcc fork.c basic.c -o fork 編譯即可的 fork 程序。 運行 ./fork

      可以看出父進程首先退出,退出前child的PPID為12256, 退出后子進程的PPID變為了 1.說明父進程退出后的子進程由 init 超級進程1領養。而該進程是不絕不會退出的。

    【Linux下子進程與父進程的關系】相關文章:

    Linux進程關系最新解讀201609-09

    Linux系統守護進程的啟動方法09-11

    關于linux查看進程ps top區別06-11

    多進程OSPF及進程號的意義05-18

    Linux讓進程在后臺可靠運行的幾種方法09-08

    圍棋棋局的進程劃分10-02

    常見系統進程大全07-26

    如何避免出現僵尸進程09-27

    php多進程編程詳解201706-04

    DOS中判斷進程是否存在的方法07-05

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人