サポートTID

プロセスのコアダンプの出力先の指定について

このドキュメント (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

このドキュメントはあなたの問題を解決しましたか? フィードバックを送る

SUSEサポートフォーラム

経験豊富なシステムオペレーターへの質問を投稿したり、他のSUSEコミュニティのエキスパートと交流したりすることができます。

サポートリソース

このガイドラインでは、SUSEサブスクリプション、Premium Support、教育機関向けプログラム、またはパートナープログラムで提供されるテクニカルサポートの活用方法について説明します。


SUSE Technical Support Handbook Update Advisories

インシデントを開く

テクニカルサポートへのインシデントの報告、サブスクリプションの管理、パッチのダウンロード、ユーザーアクセスの管理を行うことができます。