system 與 exec 都是用來執行系統指令的 function,

其中的差別是 system會回傳訊息,而exec不會。

比如: my $aaa = system(hostname);

$aaa 的數值會是 0

而 my $aaa = system(hostnam);

$aaa 的數值會是 -1,表示這個動作不成功。

不過別讓 exec 執行在程式的前面,否則它後面的程式似乎不會執行。

那我如果要取值的話,最好是用 `hostname`; 比較好,才能讓值給與變數。

再來探討 background 背景執行,我想要讓程式裡再執行一個背景作業,

用 `xxx &`; 的話就算是加了 & 它還是會等執行完再進行下一行,所以不是我要的,

是要使用 system("xxx &"); ,記得加個 &,它是 Linux 背景執行指令時的語法。

最後修改日期: 2010 年 01 月 18 日
Related posts 相關文章
2020 年迎來了 PHP 8 與 Perl 7
More...
安裝 perl 5.8.1 版本 – 草記
More...
perl 備註
More...
perl 隨機產生 password 密碼
More...

作者

留言

作者

system 怎麼會等於 error ? 你是想達到什麼目的呢 ?

請問「比如: my $aaa = system(hostname);」 這一行是指「my $aaa = error(hostname);」嗎?

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。

3 + 4 =