下面是一個快速瀏覽使用`fork()`函數創建進程的簡單演示代碼:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid = fork(); // 創建子進程
if (pid == -1) {
// fork()失敗,出現錯誤
printf("創建子進程失敗!\n");
} else if (pid == 0) {
// 子進程代碼
printf("這是子進程!\n");
printf("子進程的PID:%d\n", getpid());
printf("父進程的PID:%d\n", getppid());
} else {
// 父進程代碼
printf("這是父進程!\n");
printf("父進程的PID:%d\n", getpid());
printf("子進程的PID:%d\n", pid);
}
return 0;
}
```
上述代碼使用了`fork()`函數創建了一個子進程。當調用`fork()`函數時,操作系統會創建一個新的進程,并將父進程的所有內容復制給子進程。然后,`fork()`函數返回兩次:在父進程中返回子進程的PID(大于0),在子進程中返回0。通過判斷返回值,我們可以區分父進程和子進程的執行代碼。
在上述代碼中,父進程和子進程分別輸出自己的進程類型(父進程或子進程)以及對應的進程ID(PID)。通過調用`getpid()`函數獲取當前進程的PID,調用`getppid()`函數獲取父進程的PID。
當運行上述代碼時,會輸出類似以下內容的結果:
```
這是父進程!
父進程的PID:1234
子進程的PID:1235
這是子進程!
子進程的PID:1235
父進程的PID:1
```
以上是一個簡單的`fork()`函數創建進程的操作演示,通過創建子進程,我們可以實現多進程的并發執行,進行一些并行計算、任務分發等操作。