問題タブ [sigpipe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unix - マルチスレッドLinuxプログラムでSIGPIPEシグナルを無視/ブロックする
次のような状況があります: スレッド 1: 子と子をフォークします。たとえば、A が再びフォークし、プロセスを実行します。B
スレッド 2: Unix ドメイン ソケットを介してコマンドをリッスンし、プロセスを強制終了します。子によってフォークされた B、スレッド 1 の A 子を強制終了したことを呼び出し元に応答します。
クライアントがソケットを閉じたときにプログラムをクラッシュさせたくないので、スレッド 2 の SIGPIPE を無視します。だから私はこれを使ってやってみました
これを行うと、SIGPIPE をブロックするのに役立ちますが、スレッド 1 が子に SIGKILL を送信する機能もブロックします。
また、スレッドを作成する前にメイン関数で以下を使用してみました
ソケットに MSG_NOSIGNAL フラグを付けて送信します。
これは、SIGKILL を使用した私のシナリオにも役立ちません。上記のようなマルチスレッド状態で、フォークと実行、および送信された SIGKILL で SIGPIPE を安全に無視する方法はありますか?
subprocess - subprocess.CalledProcessError で死亡しました
私はpythonサブプロセッシングコマンドでpythonパッケージを使用しています。複数のジョブを並行して qsub すると、次のエラーが表示されます: subprocess.CalledProcessError: die with
良い提案はありますか?