欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用代碼驗證linux子進程與父進程的關系

 更新時間:2014年02月21日 16:39:16   作者:  
Linux下父進程可以使用fork 函數(shù)創(chuàng)建子進程,但是當父進程先退出后,子進程會不會也退出呢?通過下面這個小實驗,我們能夠很好的看出來

復制代碼 代碼如下:

/********  basic.c ********/
#include "basic.h"

pid_t Fork(void)
{
    pid_t pid = fork();
    if (pid < 0) {
        fprintf(stderr, "Fork error: %s\n", strerror(errno));
        exit(0);
    }

    return pid;
}

復制代碼 代碼如下:

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

#ifndef __CSAPP_BASIC_H
#define __CSAPP_BASIC_H

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <string.h>
/* function definition concerned with basic.c */
pid_t Fork();

#endif

復制代碼 代碼如下:

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

#include "basic.h"

int main()
{
    int pid = Fork();
    int x = 2;

    if (pid == 0) {
        printf("child: pid = %d, ppid = %d, x = %d\n", getpid(), getppid(), ++x);
        sleep(3);

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

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

}

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

可以看出父進程首先退出,退出前child的PPID為12256, 退出后子進程的PPID變?yōu)榱?1.說明父進程退出后的子進程由 init 超級進程1領養(yǎng)。而該進程是不絕不會退出的。

相關文章

  • 淺談 C++17 里的 Visitor 模式

    淺談 C++17 里的 Visitor 模式

    Visitor模式經(jīng)常用于將更新的設計封裝在一個類中,并且由待更改的類提供一個接受接口,其關鍵技術在于雙分派技術,本文主要介紹 C++17 里的 Visitor 模式的相關資料,需要的朋友可以參考下面文章的具體內容
    2021-09-09
  • C語言中動態(tài)內存分配malloc、calloc和realloc函數(shù)解析

    C語言中動態(tài)內存分配malloc、calloc和realloc函數(shù)解析

    C語言跟內存申請相關的函數(shù)主要有 alloca、calloc、malloc、free、realloc等,下面這篇文章主要給大家介紹了關于C語言中動態(tài)內存分配malloc、calloc和realloc函數(shù)的相關資料,需要的朋友可以參考下
    2022-03-03
  • C語言 二叉樹的鏈式存儲實例

    C語言 二叉樹的鏈式存儲實例

    本篇文章主要介紹C語言中二叉樹的鏈式存儲,這里提供了一個實例代碼進行參考,這樣對二叉樹的鏈式存儲有更深入的了解,希望能幫到學習這塊知識的同學
    2016-07-07
  • C語言詳細講解常用字符串處理函數(shù)

    C語言詳細講解常用字符串處理函數(shù)

    在日常編程中,對于字符串的操作中我們都很習慣的使用一些C庫中自帶的函數(shù),并且關于字符串的操作函數(shù)基本都在 string.h 這個頭文件中。關于C庫字符串常用處理函數(shù)也是平時面試或者考試過程中非常喜歡考的,本文將帶大家手動來實現(xiàn)這些常用函數(shù)
    2022-05-05
  • C++中的const限定符的使用和作用

    C++中的const限定符的使用和作用

    C++ 中的 const 限定符用于聲明不可變量,即在變量聲明時指定該變量的值不可修改。它的使用可以幫助程序員避免一些常見的編程錯誤,如誤修改不應該被修改的變量的值等
    2023-05-05
  • 區(qū)分c++中的聲明與定義

    區(qū)分c++中的聲明與定義

    這篇文章主要介紹了如何區(qū)分c++中的聲明與定義,幫助大家更好的理解和學習c++,感興趣的朋友可以了解下
    2020-08-08
  • Qt5連接并操作PostgreSQL數(shù)據(jù)庫的實現(xiàn)示例

    Qt5連接并操作PostgreSQL數(shù)據(jù)庫的實現(xiàn)示例

    本文主要介紹了Qt5連接并操作PostgreSQL數(shù)據(jù)庫的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解

    C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解

    這篇文章主要介紹了C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解,基本數(shù)據(jù)類型有int、long、long long、float、double、char、string,正文有詳細介紹,歡迎參考
    2018-01-01
  • VisualStudio2019配置OpenCV的詳細過程

    VisualStudio2019配置OpenCV的詳細過程

    這篇文章主要介紹了VisualStudio2019配置OpenCV,配置系統(tǒng)環(huán)境找到高級系統(tǒng)設置等一系列操作,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • 深入講解C++中的構造函數(shù)

    深入講解C++中的構造函數(shù)

    這篇文章主要介紹了C++中的構造函數(shù),是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09

最新評論