是否可以在引导时为linux中的所有进程设置/proc//coredump_filter ? /proc/self/coredump_filter将为当前shell设置,并且所有进程都在shell中运行,但在引导后并不适用于所有进程。这是否可以在内核中进行修补(当前的值设置为0x33)?
发布于 2016-04-10 00:28:47
科里的细节可以在man core.
http://man7.org/linux/man-pages/man5/core.5.html
内核param文档为我们提供了以下内容
coredump_filter=
[KNL] Change the default value for
/proc/<pid>/coredump_filter.
See also Documentation/filesystems/proc.txt.如果使用grub,请编辑/etc/default/grub文件并修改此变量。
GRUB_CMDLINE_LINUX_DEFAULT="quiet"到这个
GRUB_CMDLINE_LINUX_DEFAULT="quiet coredump_filter=0x21"然后运行update-grub2更新启动配置文件。注:0x21。位旁线是
bit 0 Dump anonymous private mappings.
bit 1 Dump anonymous shared mappings.
bit 2 Dump file-backed private mappings.
bit 3 Dump file-backed shared mappings.
bit 4 (since Linux 2.6.24)
Dump ELF headers.
bit 5 (since Linux 2.6.28)
Dump private huge pages.
bit 6 (since Linux 2.6.28)
Dump shared huge pages.
bit 7 (since Linux 4.4)
Dump private DAX pages.
bit 8 (since Linux 4.4)
Dump shared DAX pages.发布于 2016-04-09 23:15:53
您可以看到coredump_filter的定义,您可以在引导期间更改所有进程的行为,只需在内核引导命令行中添加coredump_filter=0x33即可。
http://lxr.free-electrons.com/source/kernel/fork.c?v=2.6.35#L463
发布于 2017-12-12 23:51:48
根据用例的不同,m吉建议()可能是有用的。请注意,平台支持对于madvise()的支持差异很大。
第三个参数使用MADV_DONTDUMP。
madvise(void *addr, size_t length, MADV_DONTDUMP)https://stackoverflow.com/questions/36523279
复制相似问题