Perl進程控制函數用法詳盡解讀
本文和大家重點討論一下Perl語言中有哪些Perl進程控制函數以及它的用法,在學習Perl語言的過程中,Perl進程控制函數的用法有很多值得學習的地方,這里和大家簡單分享一下其用法。
Perl進程控制函數
Perl進程控制函數名 sleep
調用語法sleep(time);
解說將程序暫停一段時間。time是停止的秒數。返回值為實際停止的秒數。
例子sleep(5);
結果輸出無
Perl進程控制函數名 wait
調用語法procid=wait();
解說暫停程序執行,等待子進程終止。
不需要參數,返回值為子進程ID,如果沒有子進程,返回-1。
例子
結果輸出
Perl進程控制函數名 waitpid
調用語法waitpid(procid,waitflag);
解說暫停程序執行,等待特定的子進程終止。procid為等待的進程ID
例子
- $procid=fork();
- if($procid==0){
- #thisisthechildprocess
- print("thislineisprintedfirst\n");
- exit(0);
- }else{
- #thisistheparentprocess
- waitpid($procid,0);
- print("thislineisprintedlast\n");
- }
- 結果輸出$program
- thislineisprintedfirst
- thislineisprintedlast
- $
2、其它控制函數
Perl進程控制函數名 caller
調用語法subinfo=caller();
解說返回調用者的程序名和行號,用于Perl進程控制函數名Debugger。
返回值為三元素的列表:
1、調用處的包名
2、調用者文件名
3、調用處的行號
例子
結果輸出
Perl進程控制函數名 chroot
調用語法chroot(dir);
解說改變程序的根目錄,詳見chroot幫助。
例子
結果輸出
Perl進程控制函數名 local
調用語法local($variable);
解說在語句塊(由大括號包圍的語句集合)中定義局域變量,僅在此語句塊中起作用,對其
的改變不對塊外同名變量造成影響。
千萬不要在循環中使用,否則每次循環都定義一個新的局域變量!
例子
結果輸出
Perl進程控制函數名 times
調用語法timelist=times
解說返回該程序及所有子進程消耗的工作時間。
返回值為四個浮點數的列表:
1、程序耗用的用戶時間
2、程序耗用的系統時間
3、子進程耗用的用戶時間
4、子進程耗用的系統時間
例子
結果輸出
【編輯推薦】