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

使用代碼驗(yàn)證linux子進(jìn)程與父進(jìn)程的關(guān)系

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

復(fù)制代碼 代碼如下:

/********  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;
}

復(fù)制代碼 代碼如下:

**********  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

復(fù)制代碼 代碼如下:

*******  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 程序。  運(yùn)行 ./fork

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

相關(guān)文章

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

    淺談 C++17 里的 Visitor 模式

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

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

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

    C語言 二叉樹的鏈?zhǔn)酱鎯?shí)例

    本篇文章主要介紹C語言中二叉樹的鏈?zhǔn)酱鎯?這里提供了一個實(shí)例代碼進(jìn)行參考,這樣對二叉樹的鏈?zhǔn)酱鎯τ懈钊氲牧私?希望能幫到學(xué)習(xí)這塊知識的同學(xué)
    2016-07-07
  • C語言詳細(xì)講解常用字符串處理函數(shù)

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

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

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

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

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

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

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

    本文主要介紹了Qt5連接并操作PostgreSQL數(shù)據(jù)庫的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    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,正文有詳細(xì)介紹,歡迎參考
    2018-01-01
  • VisualStudio2019配置OpenCV的詳細(xì)過程

    VisualStudio2019配置OpenCV的詳細(xì)過程

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

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

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

最新評論