問題タブ [signals]

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 に答える
661 参照

c - Perl: 本来あるべきようにブロッキング シグナルが遅延しない -> テスト コードが提供される

私が書いているPerlスクリプトでは、 and シグナルをブロックし、バックティック内でプロセスを実行してから、 and シグナルのブロックを解除するINTという問題があります。またはが子プロセスに到達して強制終了 するのを防ぎたい。QUITINTQUITINTQUIT

スクリプトは、コード内の適切なポイントで正常にブロックおよびブロック解除しますが、多くの参考文献が言うように、ブロック モードにある間、シグナルを遅延させず、構成したハンドラーを実行しません。SIGINTブロックまたはブロック解除コマンドの前後に送信でき、それが尊重されるため、ブロック解除されていることがわかります。

OS: Linux 2.6.30 Perl バージョン: 5.8.8

コード スニペット:

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

bash - TERMのbashトラップ-私は何を間違っているのですか?

このhack.cプログラムを考えると:

そしてこのhack.shbashスクリプト:

hack.shを実行すると、2つのプロセスが作成されます。1つはbash用、もう1つはCタスク用です。TERMシグナルがbashプロセスに送信されても​​、Cプロセスは無傷です。

ここで、元のbashがRuntime.exec()を使用してJavaプログラムから起動されたとすると、それを制御できるのはProcess.destroy()(TERMをbashプロセスに送信する)だけですか?Cプロセスを起動したbashと一緒に終了させたいとしましょう。

私はbashでこのようなことを試みてきました:

つまり、TERMシグナルをキャッチし、それをプロセスグループ全体に再ブロードキャストするトラップ句。これは私には機能しません-そのトラップ句を含むbashプロセスはTERMシグナルを無視します。

ここで何が欠けていますか?

0 投票する
6 に答える
2727 参照

c - c signal() + alarm() の代替

私はいくつかの FastCGI アプリを構築していますが、アイドル状態になった後に lighttpd がそれらを強制終了しないというバグがあるので、それらを自分で閉じようとしています。

使ってみた

close 関数に exit(0) を実行させると、ほぼうまく機能します。

問題は、メイン プログラムのループが実行されるたびに close 関数が呼び出されることです (ループをリセットするたびに alarm(300) を呼び出します)。alarm() のマニュアル ページを読みましたが、同じ値で複数回呼び出すと SIGALRM が作動するようには見えないので、Lighttpd がアラーム信号を送信していると想定しています。

大きな質問です!特定の間隔の後にメソッドを実行し、その間隔を SIGALRM なしでリセット可能にする方法はありますか? 目覚ましも複数あればいいのに。

これまでのアプリ全体は次のとおりです。

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

c - gtk シグナルを作成して送信する

GTK シグナルを作成して送信しようとしています:

信号を発する私のコードは次のとおりです。

そして、信号を処理する私のコードは次のとおりです。

コードを実行すると、次のエラーが表示されます。

GLib-GObject-CRITICAL **: g _closure_invoke: assertion `closure->marshal || クロージャ ->meta_marshal' に失敗しました

マーシャラーを関数に渡すことと関係があることは知っていますがg_signal_new、マーシャラーが何であるかはわかりません。ドキュメントを理解できず、オンラインの例はほとんどありません。自分のシグナルを宣言して接続するにはどうすればよいですか?

0 投票する
4 に答える
3246 参照

sockets - 接続されていないソケットに書き込むと、最初に SIGPIPE が送信されるのはなぜですか?

POSIX 環境では非常に多くのエラーが発生する可能性があります。それらのいくつか (特に接続されていないソケットへの書き込みなど) がシグナルの形で特別な扱いを受けるのはなぜですか?

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

python - LinuxでJythonを使用してPythonモジュールの「シグナル」をインポートできないのはなぜですか?

Jythonで省略されている「signal」クラスへの参照が見つかりません。Jython2.1の使用。

ありがとう

0 投票する
5 に答える
14323 参照

pthreads - pthreads : クリティカル セクション内からの pthread_cond_signal()

スレッド A に次のコードがあります。pthread_cond_wait()

スレッドBに次のコードがあり、スレッドAに通知します

他にスレッドがない場合、pthread_cond_signal(&my_wait)以下に示すようにクリティカル セクション ブロックの外に移動しても違いはありますか?

0 投票する
4 に答える
149993 参照

c++ - ctrl-c イベントをキャッチするにはどうすればよいですか?

CtrlC++ で+Cイベントをキャッチするにはどうすればよいですか?

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

linux - mq_send はアトミックですか?

mq_send の実行中にマルチスレッド プログラムが SIGSTOP シグナルを受信するとどうなるか教えてもらえますか?

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

python - Pythonでシグナルをトラップする

ドキュメントによると:

クリティカルセクションからの信号を一時的に「ブロック」する方法はありません(これはすべてのUnixフレーバーでサポートされているわけではないため)。

signal.signal(signum,SIG_IGN)何が私がそれをブロックするために使用し、次に信号を追加するのを止めますか?