問題タブ [sigterm]

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

process - リモートプロセスへの SSH 転送シグナル

バックグラウンド ジョブとして ssh コマンドを実行しています。

上記がプロセス ID [ssh_pid] を返すとしましょう。

リモートプロセスへのssh転送シグナルを作成するにはどうすればよいですか?

つまり、私が行うと仮定すると: kill -TERM [ssh_pid]、TERMシグナルをそれ自体で処理するのではなく、リモートプロセスに転送する必要があります。

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

ssh - プログラムが SIGTERM を受信しないのはなぜですか?

一部のサーバーで telnet/ssh seesion を使用して特定のシミュレータ プログラムを実行していますが、プログラムは SIGTERM に依存して終了します (「終了」文字列を対話的に入力しない場合)。

ほとんどのサーバーでは、telnet/ssh セッションを直接強制終了すると、通常、プログラムは自動的に終了します。しかし、特定のサーバーでは、私のシミュレーターは SIGTERM シグナルを受信せず、ROOT プロセスの子として実行し続けます。次に、これらのぶら下がっているプロセスは、多くの CPU リソースを消費します。

どこを見ればいいのか、誰か助けてくれませんか?または、この状況にどのように対処しますか?

ありがとう、ケビン

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

ruby - RSpec でのシグナル処理、特に SIGTERM の処理を​​テストするには?

Heroku は、さまざまな理由でアプリケーションに SIGTERM を送信することがあります。そのため、これが発生した場合に備えて、いくつかのクリーンアップを処理するハンドラーを作成しました。一部のグーグルでは、RSpec でこれをテストする方法に関する回答や例が得られませんでした。基本的なコードは次のとおりです。

プログラムが SIGTERM を受け取ったときにこのクリーンアップ メソッドが呼び出されることをテストする最良の方法は何ですか?

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

linux - SIGTERM からのメッセージのロギング

アプリケーション (私の場合は C++ デーモン) が SIGTERM または SIGINT を受け取ったときに、シャットダウン メッセージをログに記録する適切な方法は何ですか?

CERTsignal(7) manpageによると、多くの関数 (おそらく、ほとんどのロギング ライブラリで使用されている関数を含む) は、シグナル ハンドラから呼び出すのは安全ではありません。

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

c++ - Linuxのkill()エラーが予期しない

Kill(pid、0)はエラーコードを正しく設定していないようです...人がkillについて述べているように

エラー

次の場合、kill()関数は失敗します。

EINVAL sig引数の値は、無効またはサポートされていないシグナル番号です。
EPERMプロセスには、受信プロセスに信号を送信する権限がありません。
ESRCHpidで指定されたものに対応するプロセスまたはプロセスグループが見つかりません。次のセクションは参考情報です。 1

ENOENT(そのようなファイルやディレクトリはありません)を返し、EINTR(システムコールが中断されました)を返すことがあります...

これが私がしていることです:

私は何か間違ったことをしていますか?

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

sigkill - phshutdown を使用してシャットダウン中に QNX システムがハングする

phshutdown (再起動またはシャットダウン) を使用して QNX ニュートリノをシャットダウンしているときに、メッセージ キュー (mqueue) を強制終了している間にシステムがハングします。画面に表示されるメッセージは次のとおりです。

サービスプロバイダーのシャットダウン (mqueue)

この理由は何ですか?

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

java - Ubuntu 12.04 で Java アプリケーションが SIGNAL を受信しない

奇妙な問題

シグナルの受信時にJavaアプリを適切にシャットダウンしようとしています。または、kill経由で手動で送信します。SIGTERM、SIGHUP、SIGINT などを強制終了しようとしましたが、JVM がランタイム シャットダウン フックを呼び出さずに停止するたびに、最終的に Java コードで作成されたトラップをブロックまたはシグナルします。

shutdownHook が機能しなかった場合のハンドラを追加

Java Javaバージョン「1.6.0_24」を使用してUbuntu 12.04で実行しています

OpenJDK ランタイム環境 (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)

OpenJDK 64 ビット サーバー VM (ビルド 20.0-b12、混合モード)

Oracle Java jdk1.6.0_37でも試してみましたが、同じ効果

プロセスで strace を使用して何が起こるかを確認すると、次のようになります。

user@server:~/appdir$ sudo strace -v -p 32277Process 32277 が接続されました - quitfutex(0x7f667f07d9d0, FUTEX_WAIT, 32278, NULL) = ? への割り込み ERESTARTSYS (再起動予定) --- SIGTERM (終了) @ 0 (0) --- futex(0x7f667e2543e0, FUTEX_WAKE_PRIVATE, 1) = 1 rt_sigreturn(0x7f667e2543e0) = 202 futex(0x7f667f07d9d0, FUTEX_WAIT, pid 32278: 7NULL PANIC2 付属 7NULL 143で終了

そして、このヌルパニックは怪しいように見えますが、次はどうなるかわかりません。

そのコードを Mac でテストしたところ、問題なく動作しました。問題の原因とそれを修正する方法はありますか? 設定が必要なセキュリティ機能/ポリシーはありますか?

0 投票する
3 に答える
2323 参照

linux - Linuxプロセスを安全に強制終了する方法は?

FAT32パーティションにファイル(〜1 / s)を継続的に書き込む組み込みLinuxシステムは、中断されたときにパーティションを破損することがあります。プロセスは2つの方法で中断できます。電源を入れ直すか、musb_hdrc/gadgetを使用してUSB経由でホストとの間でファイルをコピーします。musb_hdrc / gadgetは、パーティションへのアクセスを内部組み込み制御からUSBに切り替えて、外部ホストとの間でファイルを転送するために使用されます。解決策は実行することかもしれませんが、killall process-nameこれはLinuxプロセスを安全に強制終了しますか?IOW:プロセスはすでに開始されているファイルIOを完了しますか、それとも破損したパーティションがまだありますか?killallのマニュアルページ によるとIf no signal name is specified SIGTERM is sent.、killがクリーンであることを確認するためにコードに何かを追加する必要がありますか、および/またはcleankillを実行するための特別なkillallシグナル名がありますか?

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

tomcat - Heroku Java Tomcat ServletContextListener が、slugc または再起動時に contextDestroyed を呼び出さない

Heroku は SIGTERM を使用して、プロセスが正常にシャットダウンできるようにします。ただし、Tomcat プロセスは SIGTERM に応答せず、ServletContextListener で contextDestroyed を呼び出すことはありません。

Heroku の再起動を使用して、または Heroku がアプリのスラッグ コンパイルを実行するときに、Tomcat に contextDestroyed を呼び出させるにはどうすればよいですか。

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

bash - Bash:IPアドレスにバインドされたプロセスのフェイルセーフキル

開始後、アドレスとポートにバインドするプロセスがあります。これらのプロセスはexec、子プロセスが閉じると画面が閉じるように、を使用して画面内で実行されます。

プロセスを強制終了するときはを使用kill -9 PIDしますが、画面が終了することがありますが、プロセスを再開すると、古いプロセスはまだポートを使用しているため、プロセスを再度終了する必要があります。

また、ソケットが開いたままになり、メモリが古くなり、ランダムなリソースが使用されていることも読んだSIGKILLので、単純なkill PID、つまりに目を向けましたSIGTERM

SIGTERMプロセスがアドレスとポートからバインド解除できることが保証されていますか、それともより良い代替手段がありますか?