問題タブ [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.

0 投票する
1 に答える
733 参照

c - ソケット経由の C シグナル (sigpipe、sighup)

ソケット TCP 経由で接続されたクライアントがターミナル (GUI の [X]) を閉じても、サーバーを閉じたりクラッシュさせたりする必要がないように、SIGHUP と SIGPIPE シグナルを処理する必要があります。

このようなsigupハンドラーをクライアントに設定しました

サーバーで、このような SIGPIPE ハンドラーを設定しました

ただし、クライアントが端末のウィンドウを閉じると、サーバーはループします。

何か案が?とにかく応援ありがとう

0 投票する
2 に答える
1216 参照

c - SIG_IGN マクロ定義の数字 1 の意味は何ですか?

私はその意味を知ってい(void (*)(int))ます: unknown_name を void を返す関数 (int) へのポインタにキャストします。

しかし、次の意味は何1ですか?

0 投票する
1 に答える
425 参照

c - OpenSSL が sigpipe @ SSL_connect を引き起こすのはなぜですか?

OpenSSL により、SSL_connect を呼び出した行で SIGPIPE が起動されます。GDB を実行して、ソケットが閉じられていないことを確認しました。/proc/fd/# では、前後にソケットが閉じられていないように見えます。set_fd 呼び出しと connect_state 呼び出しの順序を切り替えてみました。OpenSSL で何かを台無しにしたと思いますが、それを理解できないようです。

0 投票する
0 に答える
129 参照

c++ - C++: サーバーソケットに接続できません (Linux)

親愛なる、

子プロセスを実行し、ソケット経由でこの子プロセスに接続しようとするメイン プログラムがあります。この接続は正常に機能します。しかし、エラーが検出されると、メイン プログラムはソケット接続を適切に閉じようとし、子プロセスを強制終了し、新しいプロセスを再起動して、新しい子プロセスに接続しようとします。

再接続は数百回実行できます。しかし、これを何百回も繰り返すと、一定回数のサイクルの後、メイン プログラムは子プロセスに接続できなくなります。

これにリンクがあるかどうかはわかりませんが、ソケットを適切に閉じようとすると、メインプログラムが SIGPIPE を受け取ることがあります。無視して処理を続行します。しかし、プログラムが接続を受け入れなくなると、常に 10 個の SIGPIPES を受信して​​いることに気付きました。何度か試しましたが、いつも10で終わります。

何か案が ?

よろしく、ブライス

編集済み:

接続を閉じるコードは次のとおりです。

`

それを開くコードは次のとおりです。

`

子プロセスを強制終了するコードは次のとおりです。

`

0 投票する
0 に答える
326 参照

java - スパークパイプアクション付きEPIPE(ブロークンパイプ)

ヤーンでスパークアプリケーションを実行しようとしています。アプリケーションはpipe()アクションを使用して、ローカルの php プログラムを実行します。PHP プロセスが開始されるたびに、SIGPIPE約 1 分後に (いくつかのレコードが正常に処理された後) シグナルを受信し、終了します。

PS: 同じプログラムは、スタンドアロンの OS 環境ではスムーズに実行できますが、クラスターである運用環境ではうまくいきません。

誰でも考えられる原因を助けることができますか? ありがとう。

コードは次のとおりです:
Scala 側:

PHP側: