Ubuntu18.04:Terminalから今どんな仕事が行われているか確認してみよう

Logo ubuntu Linux (Ubuntu, bash, Shell Scripts)

〜進行中のプロセスの確認と
  終了させる方法〜

Ctrl+Alt+t でターミナルを開いたら
まずは ps と打ち込んでみよう。
これで今動いているプロセス
が確認できる。
(Ubuntu上で動いているプロセス
丸ごと表示したい時は、
ps -e もしくは 
ps -A を入力して見よう。
ちなみに -A の「エー」は大文字
なので注意。その場合はずっと
沢山の表示が現れる。)

ps and kill commands on Terminal in Ubuntu

写真の上半分を見ると

2220
9586
9626

と三つの数字が並んでいて、
これらの仕事が行われている
のだと分かる。

これらの内どれかを終了
させたい場合

kill コマンド

を使うことが出来る。

その際、

どの信号を
どのプロセスに

送るのかを指定するのだが
送信可能な信号の内三つを
紹介しよう。

1) kill -2(SIGINT)

これはTerminalで使える
ショートカットの

Ctrl+c

と同じ信号を送るもので、
プロセスは落ち着いて仕事
を終える感じになる。

準備をしてから整然と終了!
みたいなイメージで良いと
思う。

反面プロセスが言うことを
聞いてくれない場合もある
という。

2) kill -15(SIGTERM)

大体上の SIGINT と同じ
ような感じと思って良い
ようだ。

プロセスがきちんと準備
をしてから終了してくれる
ので、基本はこのSIGTERM
か先に説明したSIGINTを
使う様にしよう。

この二つが機能しない時に
初めて次のSIGKILLを試みる
ことになる。

3) kill -9(SIGKILL)

これは問答無用で直ちに
プロセスを終了させる信号
となっている。

整理も付けずに即座に終了!
と言った感じなので、最後の
手段として使う。

ただし、プロセスに問題が
生じていると、このSIGKILL
でも速やかに終了できない
場合があるという。

以下の文章ではSIGKILLを
使った例を紹介しているが、
普通はSIGINTかSIGTERMを
使って欲しい。

***

さて写真の真ん中辺りに

kill -9 9586

と入力してあることを確認
して欲しい。

ps and kill commands on Terminal in Ubuntu

これは

kill コマンドを使って

9番の信号(SIGKILL)を

9586という番号が割り
振られているプロセス
に送る

という内容である。

kill コマンドでどんな
信号を送れるのかは

kill -l

と入力すれば確認できる。

下の写真の様に
送信できる信号には
実に沢山の種類がある
ことが分かる。

Signal list of kill command on Terminal in Ubuntu

さて kill コマンドで
9586というプロセスが
実際に終了している事を
確認してみよう。

最初のように ps コマンド
を入力する。写真の後半に
注目して欲しい。

ps and kill commands on Terminal in Ubuntu

前半と違い数字は
2220
9635
しかなく9586が消えている。
これで kill コマンドが上手く
機能した事が確認できた。

最後に大事なことなので
繰り返すが、Terminalから
kill コマンドでプロセスを
終了する時は

kill -2  のSIGINT
kill -15のSIGTERM

のいずれかを通常は使う
様にしよう。

もしくはショートカットの
Ctrl+cを使っても良いだろう。
これはSIGINTを送るもので
あることを思い出して欲しい。

プログラムを強制終了させて
ちょっとしたトラブルが起きた
経験は誰しもあると思うが、
そうした事をイメージすれば
SIGKILLは最後の手段である
という事がイメージしやすい
と思う。

***英語が分かれば
ドキュメントもスイスイ***

タイトルとURLをコピーしました