加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Unix(或Linux)中是否有一种机制可以阻止正在进行的核心转储?

发布时间:2020-12-15 18:37:43 所属栏目:安全 来源:网络整理
导读:假设一个(非常)大的进程正在崩溃并转储核心,我们从其他信息(可能是断言消息,可能是其他信息)中知道原因. 有没有办法阻止核心转储完全生成,因为在这种情况下它是浪费? 例如,会杀掉-9核心转储进程中断核心文件生成吗? 显然,如果我们提前知道我们不想要核心转
假设一个(非常)大的进程正在崩溃并转储核心,我们从其他信息(可能是断言消息,可能是其他信息)中知道原因.

有没有办法阻止核心转储完全生成,因为在这种情况下它是浪费?

例如,会杀掉-9核心转储进程中断核心文件生成吗?

显然,如果我们提前知道我们不想要核心转储,我们可以适当地设置ulimit或使用操作系统的各种核心文件控制实用程序.

但这个问题是关于“核心转储已在进行中”的阶段……

(例如,想象一下我是请求者
https://stackoverflow.com/questions/18368242/how-to-bypass-a-2tb-core-dump-file-system-limit
并且不想浪费5-6 TB的磁盘空间:))

一般来说:不,没有办法可靠地杀死一个coredump.

据说有可能(至少在linux中)商用* NIX可能没办法

可能性在于3.x系列内核能够中断文件写入.一种可能性是找到正在进行转储的线程,并重复向其发送SIGKILL,直到成功为止.

这个patch series将问题解决了一定程度.

其他可能性是使用coredump_pattern的替代语法.手册说,自2.6.19而不是模式,您可以使用管道和程序(使用params)来处理转储.你将控制哪个转储将被写入哪里(/ dev / null是你无用核心的明显候选者).

这个补丁也值得关注:http://linux.derkeiler.com/Mailing-Lists/Kernel/2010-06/msg00918.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读