プロセスのコアダンプの出力先の指定について
このドキュメント (00100037) の最後に記載の 免責条項 に基づき提供されています。
環境
SUSE Linux Enterprise 11
							SUSE Linux Enterprise 12
概要
プロセスのコアダンプの出力先の指定方法について知りたい。
解決策
プロセスが異常終了した場合に出力するcoreファイルの出力先は、/proc/sys/kernel/core_pattern に設定可能です。
								
							
確認方法:
# cat /proc/sys/kernel/core_pattern
							core 
							※デフォルトは、"core"が設定されています。この場合、プログラムが実行された作業ディレクトリにcoreが生成されます。
							
							
変更方法: 
								例) 
								# echo "/var/local/dumps/core.%e.%p"> /proc/sys/kernel/core_pattern 
								※core.%e.%pは、coreファイルが生成されたときの書式になります。%e: プロセス名 %p: PID
							
							
留意事項:
							プログラムを実行する前に、以下のコマンドを実行します。
ulimit -c unlimited
また、/proc/sys/kernel/core_patternは、システムを再起動すると、デフォルトに戻りますので、再起動しても出力先をそのままにしたい場合は、以下を設定します。
例)
							# vi /etc/sysctl.conf 
							: 
							kernel.core_pattern = /var/local/dumps/core.%e.%p
							
							
参考: 
							以下、実施例になります。ご参考ください。
# mkdir -p /var/local/dumps 
							# chmod 777 /var/local/dumps 
							# echo "/var/local/dumps/core.%e.%p"> /proc/sys/kernel/core_pattern 
							# su – user 
							$ vi test.sh 
								#!/bin/bash 
								while : 
								do    
								 echo hello    
								 sleep 10 
							done   
$ chmod 777 test.sh 
							$ ulimit -c unlimited 
							$ ./test.sh 
							hello 
							hello 
							:   
 別ターミナルからtest.shのプロセスをkill 
							# ps -ef | grep test 
							user  3752  3723  0 22:19 pts/0     00:00:00 /bin/bash ./test.sh 
							root  3792  3759  0 22:20 pts/1     00:00:00 grep test   
 # kill -SEGV 3752 
							# ls /var/local/dumps 
							core.test.sh.3752
免責条項
このサポート ナレッジベースは、NetIQ/Novell/SUSE顧客、および弊社製品およびそのソリューションに関心のあるパーティへ、情報やアイデアの取得およびそれらの知識を得る為の有効なツールを提供します。 本文書の商品性、および特定目的への適合性について、いかなる黙示の保証も否認し、排除します。
- ドキュメント ID:00100037
 - 作成年月日:12-MAY-16
 - 修正年月日:12-MAY-16
 - 
								
- SUSESUSE Linux Enterprise 11 
SUSE Linux Enterprise 12 
 - SUSESUSE Linux Enterprise 11 
 
このドキュメントはあなたの問題を解決しましたか? フィードバックを送る