亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: linux 僵死進程疑惑 [打印本頁]

作者: tianhailong    時間: 2020-03-15 23:27
標題: linux 僵死進程疑惑
本帖最后由 tianhailong 于 2020-03-15 23:34 編輯

Linux中可以通過 signal(SIGCHLD, SIG_IGN); 來避免僵死進程
/**********************/
#include <stdio.h>
#include <unistd.h>
#include <signal.h>

int main() {
        signal(SIGCHLD, SIG_IGN);
        int pid = fork();
        if (pid == 0) {
                int i = 0;
                while (i < 5) {
                        ++i;
                }
        }
        else if (pid > 0) {
                while (1)
                        sleep(1);
        }
        else{
                printf("the error \n");
        }
        return 0;
}

/********************/

有點疑惑,SIGCHLD 信號默認就是忽略,那么有沒有 signal(SIGCHLD, SIG_IGN) 這句應該沒有區(qū)別,因為SIGCHLD 信號本來的處理方式就是忽略,但是沒有 signal(SIGCHLD, SIG_IGN)  就會產生僵死進程,很疑惑,希望大家?guī)兔Υ鹨山饣蠊?hr noshade size="2" width="100%" color="#808080"> 作者: qwsxcd    時間: 2020-03-28 01:33

作者: 0x012ff54a    時間: 2020-06-11 15:53
回復 1# tianhailong

默認操作不是簡簡單單的忽略和主動設置忽略是不一樣的操作。
默認操作是:
1. 忽略信號;
2. 終止程序。


作者: tianhailong    時間: 2021-10-11 15:58
謝謝,受教了




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2