プロセスが誤動作した場合、プロセスを終了または強制終了したい場合があります。この投稿では、サンプルアプリケーションとしてgeditを使用して、コマンドラインおよびグラフィカルインターフェイスからプロセスまたはアプリケーションを終了するいくつかの方法について説明します。
コマンドライン/終了文字の使用
Ctrl + C
gedit
を呼び出す際の1つの問題 コマンドラインから( gedit&
を使用していない場合 )は、プロンプトを解放しないため、シェルセッションがブロックされることです。このような場合、Ctrl + C(「C」と組み合わせたCtrlキー)が便利です。これでgedit
が終了します そして、すべての作業が失われます(ファイルが保存されていない限り)。 Ctrl+CはSIGINT
を送信します gedit
へのシグナル 。これは停止信号であり、そのデフォルトのアクションはプロセスを終了することです。 gedit
を停止するようにシェルに指示します メインループに戻ると、プロンプトが返されます。
$ gedit
^C
Ctrl + Z
これはサスペンドキャラクターと呼ばれます 。 SIGTSTP
を送信します 処理する信号。これも停止信号ですが、デフォルトのアクションは強制終了ではなく、プロセスを一時停止することです。
gedit
を停止(強制終了/終了)します シェルプロンプトを返します。
$ gedit
^Z
[1]+ Stopped gedit
$
プロセスが一時停止されると(この場合、 gedit
)、 gedit
で何かを書いたりすることはできません 。バックグラウンドでは、プロセスはジョブになります 。これはjobs
で確認できます コマンド。
$ jobs
[1]+ Stopped gedit
ジョブコード> 単一のシェルセッション内で複数のプロセスを制御できます。必要に応じて、ジョブを停止、再開、およびバックグラウンドまたはフォアグラウンドに移動できます。
gedit
を再開しましょう バックグラウンドで、プロンプトを解放して他のコマンドを実行します。これは、 bg
を使用して行うことができます コマンドの後にジョブIDが続きます( [1]
に注意してください) jobs
の出力から その上。 [1]
はジョブIDです。
$ bg 1
[1]+ gedit &
これは、 gedit
を開始するのと似ています &、
を使用 :
$ gedit &
killの使用
kill
シグナルを細かく制御できるため、シグナル名またはシグナル番号の後にプロセスIDまたはPIDを指定することで、プロセスにシグナルを送ることができます。
kill
の好きなところ ジョブIDでも機能するということです。 gedit
を始めましょう gedit&
を使用してバックグラウンドで 。 gedit
のジョブIDを持っていると仮定します jobs
から コマンド、 SIGINT
を送信しましょう gedit
へ :
$ kill -s SIGINT %1
ジョブIDの前に%
を付ける必要があることに注意してください 、または kill
PIDと見なされます。
kill
シグナルを明示的に指定しなくても機能します。その場合、デフォルトのアクションは SIGTERM
を送信することです。 、プロセスを終了します。 kill -l
を実行します すべてのシグナル名を一覧表示し、 man kill
を使用します マニュアルページを読むコマンド。
killallの使用
ジョブIDまたはPIDを指定しない場合は、 killall
プロセスを名前で指定できます。 gedit
を終了する最も簡単な方法 killall
を使用する は:
$ killall gedit
これにより、 gedit
という名前のすべてのプロセスが強制終了されます 。 kill
のように 、デフォルトのシグナルは SIGTERM
です。 。 -I
を使用して大文字と小文字を区別しないオプションがあります :
$ gedit &
[1] 14852
$ killall -I GEDIT
[1]+ Terminated gedit
killall
が提供するさまざまなフラグの詳細については ( -u
など 、ユーザー所有のプロセスを強制終了できます)マニュアルページを確認してください( man killall
)
xkillの使用
VLCなどのメディアプレーヤーがグレー表示されたりハングしたりする問題が発生したことがありますか?これで、上記のコマンドのいずれかを使用してPIDを見つけてアプリケーションを強制終了するか、 xkill
を使用できます。 。
xkill
マウスを使用してウィンドウを強制終了できます。 xkill
を実行するだけです ターミナルで、マウスカーソルを xに変更する必要があります または小さな頭蓋骨のアイコン。 xをクリックします 閉じたいウィンドウ上。 xkill
の使用には注意してください ただし、manページで説明されているように、危険な場合があります。警告されました!
詳細については、各コマンドのマニュアルページを参照してください。 pkill
などのコマンドを調べることもできます およびpgrep
。