2014-09-13 72 views

回答

3

system ("mkdir path");調用一個程序mkdir,這是一個新的過程,它所蘊含的一切都會產生。

mkdir()只是調用系統例程。

2

mkdir()調用man 2 mkdir記錄的系統調用。該功能在相同的過程中運行。

system('mkdir path')叉它運行mkdir命令一個新的過程,由man 1 mkdir記載,其儘管相同的名稱是一個單獨的命令,提供了一個命令行界面來mkdir系統調用。

+0

Linux是否運行mkdir命令而不是'sh -c mkdir'? – 2014-09-13 19:54:35

+0

「Linux」無法確定要運行什麼。 Perl的system()調用完全控制了執行的內容以及如何執行。你的問題的答案可以在perlfunc手冊頁中對system()函數的描述中找到。 – 2014-09-13 19:58:36

+0

'system'函數將其參數傳遞給系統shell以執行。 – chepner 2014-09-13 20:14:48

0

從外殼調用mkdir負載開銷(shell本身,產生一個新的進程,),直到它最後直接mkdir()電話通話中相同的內核代碼。