c 僵尸进程_演示僵尸进程的C程序
c 僵尸進程
僵尸進程 (Zombie process)
A process which has finished its execution but still has an entry in the process table to report to its parent process is known as a zombie process.
一個已經完成執(zhí)行但仍在進程表中具有要報告給其父進程的條目的進程稱為僵尸進程 。
In the following code, you can see that the parent will sleep for 20 sec, so it will complete its execution after 20 sec. But, Child will finish its execution using exit() system call while its parent process has gone for sleep.
在下面的代碼中,您可以看到父級將睡眠20秒,因此它將在20秒后完成執(zhí)行。 但是,Child將在其父進程進入睡眠狀態(tài)時使用exit()系統(tǒng)調用完成其執(zhí)行。
After execution the child must report to its parent, So the child process entry has to be in the process table to report to its parent even after it has finished execution.
執(zhí)行后,子級必須向其父級報告。因此,即使子進程條目已完成執(zhí)行,也必須位于進程表中才能向其父級報告。
Note: fork() is a UNIX system call so following program will work only on UNIX based operating systems.
注意: fork()是UNIX系統(tǒng)調用,因此以下程序僅適用于基于UNIX的操作系統(tǒng)。
The following code will not produce any output. It is just for demonstration purpose.
以下代碼不會產生任何輸出。 它僅用于演示目的。
用C語言編寫僵尸程序 (Program for zombie process in C)
</ s> </ s> </ s> #include <stdlib.h> #include <sys/types.h> #include <unistd.h>int main() {// fork() creates child process identical to parentint pid = fork();// if pid is greater than 0 than it is parent process// if pid is 0 then it is child process// if pid is -ve , it means fork() failed to create child process// Parent processif (pid > 0)sleep(20);// Child processelse{exit(0);}return 0;}Reference: Zombie and Orphan Processes in C
參考: C語言中的僵尸和孤立進程
翻譯自: https://www.includehelp.com/c-programs/zombie-process.aspx
c 僵尸進程
總結
以上是生活随笔為你收集整理的c 僵尸进程_演示僵尸进程的C程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大神赐教!!!DNF金币怎样防盗最安全?
- 下一篇: 椭圆曲线密码学导论pdf_椭圆曲线密码学