Linux资源管理

Linux资源管理,linux,Linux,当一个包含一些字符、互斥体、共享数据、文件的程序由于内存分配过多而崩溃时,所有资源都会被释放。如何恢复?通过检查资源采集功能的结果,不允许未检查的错误首先发生来恢复。通过检查资源采集功能的结果,不允许未检查的错误首先发生来恢复。如果您的意思是,您如何返回并释放由现在崩溃的进程分配的资源,好吧,您不必这样做 当进程退出(2)或被信号终止时,将检索所有操作系统分配的资源。这是内核的工作。如果您的意思是,如何返回并释放由现在崩溃的进程分配的资源,那么,您不必这样做 当进程退出(2)或被信号终止时,将检

当一个包含一些字符、互斥体、共享数据、文件的程序由于内存分配过多而崩溃时,所有资源都会被释放。如何恢复?

通过检查资源采集功能的结果,不允许未检查的错误首先发生来恢复。

通过检查资源采集功能的结果,不允许未检查的错误首先发生来恢复。

如果您的意思是,您如何返回并释放由现在崩溃的进程分配的资源,好吧,您不必这样做


当进程退出(2)或被信号终止时,将检索所有操作系统分配的资源。这是内核的工作。

如果您的意思是,如何返回并释放由现在崩溃的进程分配的资源,那么,您不必这样做


当进程退出(2)或被信号终止时,将检索所有操作系统分配的资源。这是内核的工作。

属于进程的所有资源都将被清理


唯一的例外是共享内存/消息队列/信号量-虽然它可能是由进程创建的,但并不属于它。

属于进程的所有资源都将被清除


唯一的例外是共享内存/消息队列/信号量-虽然它可能是由进程创建的,但并不属于进程。

但在现实世界中,会发生错误。不过,尝试/捕获内存分配可以帮助您安全关闭。除非OOM killer先让你,否则malloc在Linux上永远不会失败。当Linux试图使用不存在的内存时,它会杀死应用程序。try/catch对此没有帮助。但在现实世界中,会发生错误。不过,内存分配上的try/catch可以帮助您安全关闭。除非OOM killer先让你,否则malloc在Linux上永远不会失败。当Linux试图使用不存在的内存时,它会杀死应用程序。try/catch对此没有帮助。但是进程没有执行干净的退出-这不是操作系统没有首先释放它的原因吗?退出是由于系统调用还是信号而发生并不重要,它将执行相同的内核代码并执行相同的清理。这是内核的工作,如果它没有发生,它就被称为泄漏,它的严重程度与内核错误一样,它是撤销发布、发布安全警报的原因,通常会引发各种各样的紧急更新歇斯底里。但这个过程并没有完全退出——这不是操作系统没有首先发布它的原因吗?不管退出是由于系统调用还是信号而发生,它都会执行相同的内核代码并进行相同的清理。这是内核的工作,如果它没有发生,它就被称为泄漏,它的严重程度与内核错误一样,它会导致撤销发布,发布安全警报,通常会引发各种紧急更新歇斯底里。