1、僵屍程序
一個子程序在其父程序沒有調用wait()或waitpid()的情況下退出,這個子程序就是僵屍程序。如果其父程序還存在而一直不調用wait,則該僵屍程序将無法回收,等到其父程序退出後該程序将被init回收。
運作結果
2、孤兒程序
一個父程序退出,而它的一個或多個子程序還在運作,那麼那些子程序将成為孤兒程序。孤兒程序将被init程序(程序号為1)所收養,并由init程序對他們完成狀态收集工作。
運作結果
然而子程序一直在調用,也不能被ctrl^c掉。。
3、注冊函數atexit,在程序退出時調用
運作結果
由結果可見,當我們用注冊函數調用fun1、fun2、fun3時它在整個程序退出時會倒着給我們列印這些函數中的内容,在最後退出時調用第一個注冊函數并列印資訊。