自己第一次寫建立多個程序的程式時不加思索地用迴圈,類似如下,
for(i=0; i<3; i++)
}結果執行之後的結果很奇怪,因為父程序建立出來的子程序又會建立子程序,所以像一棵樹一樣建立下去,而不是所有子程序皆以主程序為父親!
正確的方法應該是像引文中一樣,如下;
法一1.#include
2.#include
3.#include
4.pid_t pid;
5./*
6. * num:當前已經建立的子程序數
7. * max:需要建立的子程序數
8. */
9.void createsubprocess(int num,int max)
10.
18. //子程序
19. else if(pid==0)
20.
24. //父程序
25. else
26. {
27. num++;
28. if(num==1)printf("父程序id=%d\n",getpid());
29. if(num法二
1.#include
2.#include
3.#include
4./*
5. * 建立指定數目的子程序
6. */
7.void createsubprocess(int num)
8.{
9. pid_t pid;
10. int i;
11. for(i=0;i唉,竟然能用遞迴實現,小小崇拜一下^^ 不知道第乙個寫上面這樣**人是如何想到的! 也許大多數人都會想到用「無恥的」迴圈吧!
linux下多程序同時操作檔案
我們都知道多程序同時操作檔案會出現問題,但是具體會出現什麼問題呢?不知道大家有沒有仔細研究過,今天我就帶大家一起來研究一下。在操作檔案之前,很有必要了解一下核心中檔案的儲存和訪問方式 這張圖摘自 apue 我覺得畫的很好,所以就沒有自己再畫了。從圖中能夠看出每個程序都有自己獨立的乙個程序表項,由檔案...
建立多程序
encoding utf 8 import sys reload sys sys.setdefaultencoding utf 8 import multiprocessing import time def worker 1 interval print worker 1 time.sleep i...
Linux 下Kill多程序的方法
ps efww grep local no grep v grep cut c 9 15 xargs kill 9 注意 上面命令直接複製貼上執行,只更換 local no 別加空格。實踐證明,加空格執行不成功 管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道...