成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Perl函數中Perl進程控制函數用法解析

開發 架構
Perl語言中Perl進程處理函數的用法有很多值得學習的地方,這里向大家簡單介紹一下,希望本文的介紹能讓你有所收獲。

本文和大家重點討論一下Perl進程處理函數的用法,主要包括進程啟動函數,進程終止函數和進程控制函數等內容,相信通過本文的學習你對Perl進程處理函數的用法一定會有深刻的認識。

Perl進程處理函數

1、進程啟動函數

Perl函數名 eval

調用語法eval(string)

解說將string看作Perl函數名語句執行。

正確執行后,系統變量$@為空串,如果有錯誤,$@中為錯誤信息。

例子$print="print(\"hello,world\\n\");";

eval($print);

結果輸出hello,world

Perl函數名 system

調用語法system(list)

解說list中第一個元素為程序名,其余為參數。

system啟動一個進程運行程序并等待其結束,程序結束后錯誤代碼左移八位成為返回值。

例子@proglist=("echo","hello,world!");

system(@proglist);

結果輸出hello,world!

Perl函數名 fork

調用語法procid=fork();

解說創建程序的兩個拷貝--父進程和子進程--同時運行。子進程返回零,父進程返回非零
值,此值為子程序的進程ID號。

例子

  1. $retval=fork();  
  2. if($retval==0){  
  3. #thisisthechildprocess  
  4. exit;#thisterminatesthechildprocess  
  5. }else{  
  6. #thisistheparentprocess  
  7. }  
  8.  

 

結果輸出無

Perl函數名 pipe

調用語法pipe(infile,outfile);

解說與fork合用,給父進程和子進程提供通信的方式。送到outfile文件變量的信息可以
通過infile文件變量讀取。步驟:

1、調用pipe

2、用fork將程序分成父進程和子進程

3、一個進程關掉infile,另一個關掉outfile

例子

  1. pipe(INPUT,OUTPUT);  
  2. $retval=fork();  
  3. if($retval!=0){  
  4. #thisistheparentprocess  
  5. close(INPUT);  
  6.  
  7. print("Enteralineofinput:\n");  
  8. $line=<STDIN>;  
  9. printOUTPUT($line);  
  10. }else{  
  11. #thisisthechildprocess  
  12. close(OUTPUT);  
  13. $line=<INPUT>;  
  14. print($line);  
  15. exit(0);  
  16. }  
  17.  

 

結果輸出$

program

Enteralineofinput:

Hereisatestline

Hereisatestline

$

Perl函數名 exec

調用語法exec(list);

解說與system類似,區別是啟動新進程前結束當前程序。常與fork合用,當fork分成兩個
進程后,子進程用exec啟動另一個程序。

例子

結果輸出

Perl函數名 syscall

調用語法syscall(list);

解說調用系統Perl函數名,list第一個元素是系統調用名,其余為參數。

如果參數是數字,就轉化成C的整型數(typeint)。否則傳遞字符串的指針。詳見UNIX的幫助Perl函數名文檔。

使用syscall必須包含文件syscall.pl,即:

require("syscall.ph");

例子

結果輸出

2、進程終止函數

Perl函數名  die

調用語法die(message);

解說終止程序并向STDERR輸出錯誤信息。message可以為字符串或列表。如果最后一個參
數不包含換行符,則程序文件名和行號也被輸出。

例子die("Cannotopeninputfile");

結果輸出Cannotopeninputfileatmyprogline6.

Perl函數名 warn

調用語法warn(message);

解說與die類似,區別是不終止程序。

例子warn("Danger!Danger!\n");

結果輸出Danger!Danger!


Perl函數名 exit

調用語法exit(retcode);

解說終止程序并指定返回值。

例子exit(2);

結果輸出無

Perl函數名 kill

調用語法kill(signal,proclist);

解說給一組進程發送信號。

signal是發送的數字信號,9為殺掉進程。

proclist是進程ID列表。詳見kill的UNIX幫助。

例子

結果輸出                     #p#

3、進程控制函數

Perl函數名 sleep

調用語法sleep(time);

解說將程序暫停一段時間。time是停止的秒數。返回值為實際停止的秒數。

例子sleep(5);

結果輸出無


Perl函數名 wait

調用語法procid=wait();

解說暫停程序執行,等待子進程終止。

不需要參數,返回值為子進程ID,如果沒有子進程,返回-1。

例子

結果輸出

Perl函數名 waitpid

調用語法waitpid(procid,waitflag);

解說暫停程序執行,等待特定的子進程終止。procid為等待的進程ID

例子

  1. $procid=fork();  
  2. if($procid==0){  
  3. #thisisthechildprocess  
  4. print("thislineisprintedfirst\n");  
  5. exit(0);  
  6.  
  7. }else{  
  8. #thisistheparentprocess  
  9. waitpid($procid,0);  
  10. print("thislineisprintedlast\n");  
  11. }  
  12.  

 結果輸出$program

thislineisprintedfirst

thislineisprintedlast

$                     #p#

4、其它控制函數

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、子進程耗用的系統時間

例子

結果輸出

【編輯推薦】

  1. Perl語言中Perl函數用法
  2. Perl函數手冊專家指導
  3. 技術分享 詳解Perl函數的參數接收方法
  4. Perl基礎 Perl數組學習指南
  5. Perl函數集-數組和Perl列表函數解析
責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-19 14:45:07

Perl進程控制函數

2010-07-19 14:37:01

Perl進程啟動函數

2010-07-16 16:56:01

Perl構造函數

2010-07-19 14:13:41

Perl函數

2010-07-16 17:04:38

Perl方法

2010-07-19 10:01:57

Perl函數

2010-07-23 15:59:33

Perl encode

2010-07-15 10:22:23

Perl控制結構

2010-07-19 13:49:17

Perl函數

2010-07-20 09:23:30

Perl構造函數

2010-07-15 15:54:10

Perl守護進程

2010-07-23 13:53:33

Perl grep函數

2010-07-19 15:01:26

Perl數學函數

2010-07-15 13:50:16

Perl目錄操作函數

2010-07-19 10:11:58

Perl流程控制語句

2010-07-21 09:57:46

Perl文件

2010-07-21 10:18:41

Perl map函數

2010-07-21 14:18:27

Perl函數

2010-07-13 09:14:21

Perl時間處理函數

2010-07-21 10:10:50

Perl split函
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美久久一区二区三区 | 99久久国产综合精品麻豆 | 欧美精品一二区 | www.9191.com| 黄色欧美在线 | 久久中文字幕一区 | 国产精品不卡 | av一区二区三区在线观看 | 欧美aaaaaaaa| 羞羞视频在线网站观看 | 91伊人网 | 亚洲精品一区二区在线观看 | 一区二区视频在线 | 午夜免费观看体验区 | 日本三级网站在线观看 | 精品国产乱码久久久久久蜜柚 | 美女视频黄色片 | 欧美激情在线精品一区二区三区 | 欧美日韩国产一区二区三区 | 国产欧美日韩久久久 | 中文天堂在线一区 | 欧美中文字幕在线观看 | 精品国产乱码久久久久久闺蜜 | 欧美一级免费 | 精品国产乱码久久久久久蜜柚 | 四虎影院一区二区 | 在线观看涩涩视频 | 国产精品久久久久久久久久久免费看 | 亚洲免费大片 | 91福利在线观看 | 呦呦在线视频 | 狠狠干天天干 | 国产精品电影在线观看 | 国产 欧美 日韩 一区 | 好姑娘影视在线观看高清 | tube国产 | 婷婷狠狠 | 亚洲国产精品一区二区第一页 | 美女三区 | 国产欧美一区二区精品久导航 | 日韩视频一区二区在线 |