註冊一個正常進程退出時會被調用的函式(我是從man頁上貼上的,而且我英語水平很差,翻譯的不好,望見諒)
摘要,描述,返回值,遵從,參閱,
摘要
Feature Test Macro Requirements for glibc (see feature_test_macros(7)): on_exit(): _BSD_SOURCE || _SVID_SOURCE
描述
這個on_exit()函式註冊那個被給定函式,使之在通過exit()或者通過從程式的main()返回時正常進程退出時被調用。The function is passed the status argument given to the last call to exit() and the arg argument from on_exit(). 同一個函式被註冊多次的情況下: it is called once for each registration. 當一個子進程通過fork()被創建, 它會以拷貝的方式繼承它的父進程的註冊。實際上一次成功的調用exec()族的一個函式,所有的註冊都將被移除。
返回值
成功時返回0
不成功則返回非0值
遵從
這個函式來自於SunOS 4,但是也出現在 libc4,libc5 和 glibc。在solaris中它不會更長。(It no longer occurs in Solaris (SunOS 5).)避免這個函式,用標準的 atexit()代替。
參閱
_exit(2), atexit(3), exit(3)