system 與 exec 都是用來執行系統指令的 function,
其中的差別是 system會回傳訊息,而exec不會。
比如: my $aaa = system(hostname);
$aaa 的數值會是 0
而 my $aaa = system(hostnam);
$aaa 的數值會是 -1,表示這個動作不成功。
不過別讓 exec 執行在程式的前面,否則它後面的程式似乎不會執行。
那我如果要取值的話,最好是用 `hostname`; 比較好,才能讓值給與變數。
再來探討 background 背景執行,我想要讓程式裡再執行一個背景作業,
用 `xxx &`; 的話就算是加了 & 它還是會等執行完再進行下一行,所以不是我要的,
是要使用 system(“xxx &”); ,記得加個 &,它是 Linux 背景執行指令時的語法。
留言
請問「比如: my $aaa = system(hostname);」 這一行是指「my $aaa = error(hostname);」嗎?
system 怎麼會等於 error ? 你是想達到什麼目的呢 ?