sigpipe

    2

    1答えて

    私は2つのデーモンを持っていて、AはBに話しています。Bはポートでリッスンしており、AはそのポートへのTCP接続を開きます。 AはBへのソケットをオープンすることができますが、ソケットを実際に書き込もうとするとSIGPIPEを取得するので、Bがオープンソケットを閉じている可能性があります。 しかし、gdbの両方のデーモンに接続すると、データを処理するコードが呼び出される前にSIGPIPEが実行され

    1

    2答えて

    シェルプロセスのパイプ演算子を使用して標準出力を別のプロセス(下流プロセスと呼ばれます)にパイプするLinuxプロセス(メインプロセスと呼ぶ) (|)。ダウンストリームプロセスがクラッシュした場合、メインプロセスはSIGPIPEシグナルを受信するように設定されます。残念ながら、メインプロセスがstdoutに書き込むまで、SIGPIPEは呼び出されません。ダウンストリームプロセスが終了したとすぐに伝

    1

    1答えて

    パイプを使用してコマンドを実行すると、パイプコマンドは何らかのクリーンアップを行う必要がありますが、パイプを開始したプロセスにエラーがある場合、パイプコマンドはクリーンアップされません。この場合、パイプコマンドはSIGPIPEを取得していますか? cleanupPipeデストラクタが常に実行されるようにするにはどうすればよいですか? errorOccurred例外がスローされると、cleanupP

    4

    1答えて

    私はSIGPIPEについて学び、Pythonでこれらを処理する方法を読んでいます。他の情報源の中で 、私が読んでいる:How to handle a broken pipe (SIGPIPE) in python? はのは、パイプの読み取りスクリプトが終了としましょう、そしてすべての答えは、書き込みスクリプトは、try節での書き込みコールをwrappesことを示唆しています。 しかし、私はこの作業