ルートなしで特定のユーザーまたはシェルセッションのコアダンプを無効にします。

ルートなしで特定のユーザーまたはシェルセッションのコアダンプを無効にします。

私は大規模なC++プロジェクトを進めています。テスト時にメインプロセスからコアをダンプすることがよくあります。これにより、保存され、systemd有用なディスク領域を占める興味深いコアダンプが大量に生成されます。

Linuxで実行している場合、特定のユーザーに対して一時的にコアダンプ履歴を無効にすることはできますか?systemdそれとも、特定のttyまたは特定のシェルセッションに対してのみ優れていますか?

ユーザーがコアを頻繁にダンプするプログラムを実行し、ルート介入なしにディスク容量を埋めたくない場合は、コアダンプロギングを無効にするオプションが必要であることが合理的です。

ベストアンサー1

/etc/profile行を編集して追加しましたか?

ulimit -c 0

これで?ルートでない場合は、人々にこのコマンドを手動で実行するように指示できます。

注:ほとんどのLinuxディストリビューションはデフォルトでコアダンプ制限を0に設定します。

ulimit -c unlimited

あなたの殻に。

このulimitコマンドは、setrlimit()すべての子プロセスに継承されたプロセスの設定を設定するシステムコールを内部的に呼び出します。setrlimit()シェルだけでなく、すべてのプログラムから呼び出すことができます。

理論的には、すべての子供がこれらの設定を変更し、新しい継承系統を作成できます。したがって、値を再変更するために途中でシェルが呼び出されないようにしてください。たとえば、呼び出しがシェルの起動スクリプトの1つにある場合、ulimitこれが発生する可能性があります。

おすすめ記事