使用echo $? 查看命令成功執行的原理


轉載於:http://blog.csdn.net/cmzsteven/article/details/49049387

在進行源代碼編譯,或者執行命令無法確認所執行的命令是否成功執行的情況下,我們都會使用 echo $? 來進行測試。

 

如果返回值是0,就是執行成功;如果是返回值是0以外的值,就是失敗。

 

之前在學習的時候只是機械的接受了這個事實,沒有考慮背后的原理。

 

這二天在查看資料的時候突然看到了“進程生命周期”的知識:

 

當一個進程執行完畢時,該進程會調用一個名為 _exit 的例程來通知內核它已經做好“消亡”的准備了。該進程會提供一個退出碼(一個整數)表明它准備退出的原因。按照慣例,0用來表示正常的或者說“成功”的終止。

 

也就是說我們在執行 echo $? 時反回的值就是進程的退出碼。而且,這個退出碼是由剛剛執行完的進程提供給系統內核的。

 

更多linux資料請查看:http://www.apelearn.com/bbs/?fromuid=4297


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM