Linux fork程式的用法
程式碼
// fork.cpp
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <iostream>
#include <sys/wait.h>
void fork_wait()
{
int status, ret;
int pid;
pid = fork ();
if (pid == 0)
{
// I am the child
printf ("Child: Work completed!\n");
printf ("Child: Bye now.\n");
sleep(20);
exit (0);
}
// I am the parent
printf ("Parent: Waiting for Child to complete.\n");
if ((ret = waitpid (pid, &status, 0)) == -1)
printf ("parent:error\n");
}
int main (int argc, char **argv)
{
int i = 0;
long sum;
printf ("Parent: Hello, World!\n");
while(1)
{
fork_wait();
i++ ;
std::cout<<"i="<<i<<"\n";
sleep(2);
}
}
編譯
g++ fork.cpp -o fork
執行
./fork
Parent: Hello, World!
Parent: Waiting for Child to complete.
Child: Work completed!
Child: Bye now.
i=1
Parent: Waiting for Child to complete.
Child: Work completed!
Child: Bye now.
i=2
Parent: Waiting for Child to complete.
Child: Work completed!
Child: Bye now.
結果
pgrep fork
20390
20391
root@7f4dc6e8ef5e:/opt/bin# pgrep fork
20390
20394
root@7f4dc6e8ef5e:/opt/bin# pgrep fork
20390
20396
相關文章
- fork()函式的基本用法函式
- Linux fork 炸彈解析,Linux Fork BombLinux
- linux fork 程式後 主程式的全域性變數Linux變數
- linux fork程式空間問題Linux
- Linux下程式相關:fork(),wait(),exec()LinuxAI
- 【多程式】Linux中fork()函式詳解|多程式Linux函式
- 初學linux的fork筆記Linux筆記
- Linux系統程式設計(8)—— 程式之程式控制函式forkLinux程式設計函式
- 1程式與執行緒以及Linux中fork()的運用執行緒Linux
- fork、父程式和子程式
- linux中fork()與vfork()的區別Linux
- Linux中fork的使用注意事項Linux
- fork和殭屍程式
- Linux程式設計入門 fork/pthread/signals(轉)Linux程式設計thread
- git 同步fork的倉庫程式碼Git
- 程式中fork和vfork的區別
- 研究linux函式 之 fork()Linux函式
- Linux 中的 fork() 函式例項解析Linux函式
- linux系統程式設計之程式(三):程式複製fork,孤兒程式,殭屍程式Linux程式設計
- 1.5.1 Python程式使用 -- forkPython
- Python垃圾回收和Linux ForkPythonLinux
- linux中fork()函式詳解Linux函式
- 例項詳解 Linux 中的 fork() 函式Linux函式
- 子程式等待父程式退出及fork使用
- fork同時建立多個子程式的方法
- Linux gdb偵錯程式用法全面解析Linux
- listener為何要fork兩次子程式
- Linux Process/Thread Creation、Linux Process Principle、sys_fork、sys_execve、glibc fork/execve api sourcecodeLinuxthreadAPI
- 【Linux篇】--sed的用法Linux
- linux 的xargs命令用法Linux
- linux下 date的用法Linux
- Linux 下的 vi 用法Linux
- Linux下scp的用法Linux
- linux 下 free的用法Linux
- Linux 命令“ls ” 的用法Linux
- Linux 下使用 killall 命令終止程式的 8 大用法Linux
- linux的nohup命令的用法。Linux
- PostgreSQL server端接收連線後fork程式SQLServer