2016-04-09 22 views
0

起動時にlinuxのすべてのプロセスに対して/ proc // coredump_filterを設定することはできますか?/proc/self/coredump_filterは、現在のシェルとすべてのプロセスがシェルで実行されるように設定されますが、起動後のすべてのプロセスに対しては設定されません。これはカーネルでパッチできるものですか(現在の値は0x33に設定されています)?すべてのプロセスのcoredump_filter

+0

おそらく、[Super User](http://superuser.com)で質問するほうがよいでしょう。 – isedev

答えて

2

コーリー詳細はman coreで見つけることができます...

http://man7.org/linux/man-pages/man5/core.5.html

GRUB編集あなた/etc/default/grubファイルを使用している場合、カーネルのparamドキュメントはこの

に私たちに
coredump_filter= 
     [KNL] Change the default value for 
     /proc/<pid>/coredump_filter. 
     See also Documentation/filesystems/proc.txt. 

を与えますこの変数を変更します。この

GRUB_CMDLINE_LINUX_DEFAULT="quiet coredump_filter=0x21" 

GRUB_CMDLINE_LINUX_DEFAULT="quiet" 

、ブート設定ファイルを更新するために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. 
0

です。madvise()の使用方法によっては便利です。 madvise()のプラットフォームサポートは大きく異なります。

3番目の引数にMADV_DONTDUMPを使用します。

madvise(void *addr, size_t length, MADV_DONTDUMP) 
関連する問題