首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

Linux C 程式設計:進程控制基礎 API 筆記

     編輯:關於C

核心 API:fork()

#include <unistd.h>
pid_t fork(void);
  • 子進程返回 0;父進程返回子進程 PID。
  • 失敗返回 -1,errno 設定(如 EAGAIN、ENOMEM)。

殭屍進程與回收

父進程若不處理子進程退出狀態,子進程變為 Zombie (Z) 佔用 PID。兩種回收方式:

  1. 同步阻塞:waitpid(pid, &status, 0) 等待特定子進程。
  2. 非同步訊號:安裝 SIGCHLD 處理器,收到訊號後在 handler 中呼叫 waitpid(-1, &status, WNOHANG) 非阻塞回收所有已結束子進程。

相關標頭檔

  • <unistd.h>:fork、waitpid、exec 族。
  • <signal.h>:signal、sigaction、SIGCHLD 等訊號定義。

待續內容

後續將涵蓋 exec 族函式、進程群組/會話、daemon 化、vfork 與 clone 差異等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved