SIGHCLD

SIGHCLD是unix的一種信號。SIGCHLD信號是子進程結束時,向核心傳送的信號。

SIGHCLD

是unix的一種信號。
SIGCHLD信號是子進程結束時,向核心傳送的信號。
無論進程是正常終止,還是不正常終止,都會向核心傳送SIGCHLD信號。
如果父進程不等待子進程結束,子進程將有可能成為殭屍進程(zombie)從而占用系統資源。因此需要對SIGCHLD信號做出處理,回收殭屍進程的資源,避免造成不必要的資源浪費。
可以用如下語句:
signal(SIGCHLD,(void *)handle);
handle此處代表一個處理 SIGCHLD信號,引起的函式。
但是在一些並發性特別高的伺服器端,有時候又需要對此信號進行忽略。因為,每一個子進程終止時都會向核心傳送此信號,如果並發性特別多,將影響伺服器處理速率。
可以用如下語句
signal(SIGCHLD,SIG_IGN );

熱門詞條

聯絡我們