process.py程式如下:
def
worker
(interval)
:print os.getpid(
) n =
5while n >0:
print
("the time is "
.format
(time.ctime())
) time.sleep(interval)
n -=
1if __name__ ==
"__main__"
: p = multiprocessing.process(target = worker, args =
(200,)
) p.start(
)print os.getpid(
) p.join(
)#print "p.pid:", p.pid
#print "p.name:", p.name
#print "p.is_alive:", p.is_alive()
主程序啟動了乙個子程序,並且會答應出兩個程序的程序id。
使用ps -ef | grep process.py看一下當前程序的數量,這裡使用兩種方式執行
python process.py
yeruoxi 8520 8339 0 13:01 pts/2 00:00:00 python process.py
yeruoxi 8521 8520 0 13:01 pts/2 00:00:00 python process.py
sudo python process.py
root 8653 8339 0 13:02 pts/2 00:00:00 sudo python process.py
root 8675 8653 0 13:02 pts/2 00:00:00 python process.py
root 8676 8675 0 13:02 pts/2 00:00:00 python process.py
使用sudo執行時,多了乙個程序,這是為什麼呢?
8653這個程序,不是python程式建立的,這個可通過程式輸出的程序id知道。其實這個程序是由sudo命令產生的,sudo命令是先建立乙個root使用者的shell,sudo python process.py就是新建的這個shell程序,然後8675這個程序就是在這個shell上啟動的python process.py的程序,8676就是process.py程式中啟動的子程序。
參考:
C 多程序開發,控制程序數量
正在c 程式優化時,如果多執行緒效果不佳的情況下,也會使用多程序的方案,如下 system.threading.tasks.task task system.threading.tasks.task.factory.startnew object mystate collectpathitems.d...
C 檢測程序數量,開啟一定數量的程序 三
一下程式可以實現開啟3個程序,並且實時的監控程序數量,等到所有的程序都退出後,再重新建立3個程序。如此迴圈往復 include stdafx.h include include include include include psapi.h pragma comment lib,kernel32.l...
獲取程序控制代碼的數量
unit unit1 inte ce uses winapi.windows,winapi.messages,system.sysutils,system.variants,system.classes,vcl.graphics,vcl.controls,vcl.forms,vcl.dialogs,...