system是用shell來(lái)調(diào)用程序=fork+exec+waitpid,,而exec是直接讓你的程序代替用來(lái)的程序運(yùn)行。 system 是在單獨(dú)的進(jìn)程中執(zhí)行命令,,完了還會(huì)回到你的程序中,。而exec函數(shù)是直接在你的進(jìn)程中執(zhí)行新的程序,,新的程序會(huì)把你的程序覆蓋,,除非調(diào)用出錯(cuò),,否則你再也回不到exec后面的代碼,就是說(shuō)你的程序就變成了exec調(diào)用的那個(gè)程序了,。 看一下,,下面的例子. 例子1 --------------------------------- 例子2 --------------------------------- 在例子1中,在你的程序執(zhí)行完畢以后,,會(huì)執(zhí)行printf語(yǔ)句,。 在Linux下,,exec通常會(huì)和fork語(yǔ)句一起用,。 看下面的這個(gè)例子 |
|
來(lái)自: sven_ > 《命令和函數(shù)》