しばらくの間、 Ctrl + \ 魅力のように働いた。今、それはプロセスを殺しません。実際には何もしません。
動作しない例:
[email protected]:~ $ sleep 10
^C
[exited with 130]
[email protected]:~ $ sleep 10
^\^\^\^\^\^\^\^\^\^\^\
[email protected]:~ $
Ctrl + C いつものようにスリープを停止しますが、 Ctrl + \ そうではありませんが、そうすべきですよね?
承認された回答:
Ctrlとは + \ SIGQUIT
を送信します フォアグラウンドプロセスに。一部の開発者は、ユーザーが予期しない、または慣れていない方法でSIG*イベントを使用したいと考えています。プログラムについては触れていませんが、 Ctrlを使用して私のケースを見てみましょう。 + \ およびmplayer
:
AO: [pulse] 44100Hz 2ch floatle (4 bytes per sample)
Video: no video
Starting playback...
A: 1.7 (01.7) of 0.0 (unknown) 0.4%
// here I press Ctrl + \
MPlayer interrupted by signal 3 in module: play_audio
A: 1.0 (00.9) of 0.0 (unknown) 0.4%
Exiting... (Quit)
ご覧のとおり、mplayerは信号をキャッチしますが、すぐに終了しないでください。 Ctrlを使用した場合 + C 「MPlayerがモジュールの信号2によって中断されました:play_audio」と表示されます。 。私が説明しようとしているのは、各プログラムは、本来の機能を気にせずに、信号を好きなように解釈できるということです。ドキュメントを確認する必要があります。また、SIGKILL
または9
最後のリソースとして再利用する必要があります。キーストロークもプロセスに送信され、キーマップが正しく、キーボードが接続されていることを確認する必要があります。