在进程终止时哪个先发生?删除子进程和任务或调用 atexit 函数?
On process termination which happens first? Child processes and tasks deletion or calling of atexit functions?
我想知道当一个进程正常终止时,下面哪一个先发生:
- 子进程终止。
- 调用使用 atexit 注册的清理函数。
如果进程中没有写特殊代码,atexit()
函数会先运行。内核只会在最终程序终止时考虑子项,这取决于进一步的情况,它可能会终止子项。
我想知道当一个进程正常终止时,下面哪一个先发生:
- 子进程终止。
- 调用使用 atexit 注册的清理函数。
如果进程中没有写特殊代码,atexit()
函数会先运行。内核只会在最终程序终止时考虑子项,这取决于进一步的情况,它可能会终止子项。