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

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

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

$aaa 的數值會是 0

而 my $aaa = system(hostnam);

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

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

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

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

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

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

Related posts 相關文章
2020 年迎來了 PHP 8 與 Perl 7
More...
安裝 perl 5.8.1 版本 – 草記
More...
perl 備註
More...
perl 隨機產生 password 密碼
More...

作者

留言

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

    作者

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

撰寫回覆或留言

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