当用 SIGINT 之类的信号中断 C 程序时会发生什么?
What happens when interrupting a C program with a signal like SIGINT?
所以在完成我的个人项目之前,我想到了这个问题。因此,我也想知道我是否需要在进程终止之前进行任何特殊操作来进行清理(例如释放所有动态分配的内存),或者它是由 Linux 内核处理的。
感谢任何帮助
当您的进程退出时,Linux 系统将回收其所有资源,无论您的进程如何退出。
如果您允许 SIGINT
终止您的进程,而不是捕获它并处理它,缓冲区可能会保持未刷新状态。如果您希望您的程序在退出前干净利落地完成任何工作,您需要设计您的程序,使其能够捕获信号并执行任何所需的终止工作。
所以在完成我的个人项目之前,我想到了这个问题。因此,我也想知道我是否需要在进程终止之前进行任何特殊操作来进行清理(例如释放所有动态分配的内存),或者它是由 Linux 内核处理的。
感谢任何帮助
当您的进程退出时,Linux 系统将回收其所有资源,无论您的进程如何退出。
如果您允许 SIGINT
终止您的进程,而不是捕获它并处理它,缓冲区可能会保持未刷新状态。如果您希望您的程序在退出前干净利落地完成任何工作,您需要设计您的程序,使其能够捕获信号并执行任何所需的终止工作。