c 僵尸进程_演示僵尸进程的C程序
c 僵尸進(jìn)程
僵尸進(jìn)程 (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.
一個(gè)已經(jīng)完成執(zhí)行但仍在進(jìn)程表中具有要報(bào)告給其父進(jìn)程的條目的進(jìn)程稱為僵尸進(jìn)程 。
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.
在下面的代碼中,您可以看到父級(jí)將睡眠20秒,因此它將在20秒后完成執(zhí)行。 但是,Child將在其父進(jìn)程進(jìn)入睡眠狀態(tài)時(shí)使用exit()系統(tǒng)調(diào)用完成其執(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í)行后,子級(jí)必須向其父級(jí)報(bào)告。因此,即使子進(jìn)程條目已完成執(zhí)行,也必須位于進(jìn)程表中才能向其父級(jí)報(bào)告。
Note: fork() is a UNIX system call so following program will work only on UNIX based operating systems.
注意: fork()是UNIX系統(tǒng)調(diào)用,因此以下程序僅適用于基于UNIX的操作系統(tǒng)。
The following code will not produce any output. It is just for demonstration purpose.
以下代碼不會(huì)產(chǎn)生任何輸出。 它僅用于演示目的。
用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語言中的僵尸和孤立進(jìn)程
翻譯自: https://www.includehelp.com/c-programs/zombie-process.aspx
c 僵尸進(jìn)程
總結(jié)
以上是生活随笔為你收集整理的c 僵尸进程_演示僵尸进程的C程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大神赐教!!!DNF金币怎样防盗最安全?
- 下一篇: 椭圆曲线密码学导论pdf_椭圆曲线密码学