Category Archives: 1-4.プロセス

キルするどころか増えていく


アニメ『双星の陰陽師』(2016.4.6 – 2017.3.29)
陰陽師の少年焔魔堂 ろくろ(えんまどう ろくろ)と、少女化野 紅緒(あだしの べにお)が、ケガレと戦います。二人共天才で、総覇陰陽連のトップから、『双星の陰陽師』の称号を与えられます。この二人の役割とは、ケガレとの戦いに終焉をもたらすであろう『神子』を生むための夫婦となること。まあ、思春期の少年少女なので、反発します。でも、だんだん力を合わせて戦うようになるんですね。

今回はプロセスです。

プロセスでケガレを作ってみましょう。

takk@deb83:~$ cat -n kegare.sh
     1	banner ':-)'
     2	ps
     3	sleep 1
     4	. kegare.sh
takk@deb83:~$ 

実行すると、1秒毎に、kegare.shが起動されます。
CTRL+Cで止めても止めても、新しくkegare.shが起動されてしまいます。

  PID TTY          TIME CMD
 7206 pts/2    00:00:02 bash
11995 pts/2    00:00:00 ps
^C
   #              ##
  # #               #
   #                 #
         #####       #
   #                 #
  # #               #
   #              ##

  PID TTY          TIME CMD
 7206 pts/2    00:00:02 bash
11998 pts/2    00:00:00 ps
^C
   #              ##
  # #               #
   #                 #
         #####       #
   #                 #
  # #               #
   #              ##

  PID TTY          TIME CMD
 7206 pts/2    00:00:02 bash
12001 pts/2    00:00:00 ps

CTRL+Zで、バックグラウンドに追いやっても、プロセスが増えるばかりです。まあ当然ですね。

  PID TTY          TIME CMD
 7206 pts/2    00:00:02 bash
12003 pts/2    00:00:00 banner
12029 pts/2    00:00:00 sleep
12032 pts/2    00:00:00 sleep
12035 pts/2    00:00:00 sleep
12038 pts/2    00:00:00 sleep
12041 pts/2    00:00:00 sleep
12044 pts/2    00:00:00 sleep
12047 pts/2    00:00:00 sleep
12050 pts/2    00:00:00 sleep
12056 pts/2    00:00:00 ps
   #              ##
  # #               #
   #                 #
         #####       #
   #                 #
  # #               #
   #              ##

  PID TTY          TIME CMD
 7206 pts/2    00:00:02 bash
12003 pts/2    00:00:00 banner
12029 pts/2    00:00:00 sleep
12032 pts/2    00:00:00 sleep
12035 pts/2    00:00:00 sleep
12038 pts/2    00:00:00 sleep
12041 pts/2    00:00:00 sleep
12044 pts/2    00:00:00 sleep
12047 pts/2    00:00:00 sleep
12050 pts/2    00:00:00 sleep
12059 pts/2    00:00:00 ps

では、ケガレ退治してみます。まずは、ケガレが表示されている端末ウィンドウで、
CTRL+Sを押します。
これで、画面出力が停止されます。
そして、別の端末ウィンドウで、プロセスを見てみます。

takk@deb83:~$ ps aux
(省略)
takk     12399  0.0  0.0   2024   568 pts/3    S+   22:01   0:00 banner :-)
takk     12416  0.0  0.0   4256  2440 pts/1    R+   22:02   0:00 ps aux
takk@deb83:~$ 

ばっちり、ケガレが写っています。
killallでbannerをキルします。

takk@deb83:~$ killall banner
takk@deb83:~$ ps aux | grep banner
takk     12446  0.0  0.0   4056  2196 pts/1    S+   22:04   0:00 grep banner
takk@deb83:~$ 

キルできました。

後は、ケガレが出現していた、端末ウィンドウで、
CTRL+Cを押せば良いです。

  PID TTY          TIME CMD
12207 pts/3    00:00:00 bash
12393 pts/3    00:00:00 ps
   #              ##
  # #               #
   #                 #
         #####       #
   #                 #
  # #               #
   #              ##

  PID TTY          TIME CMD
12207 pts/3    00:00:00 bash
12397 pts/3    00:00:00 ps
^C
takk@deb83:~$ 

ケガレが止まりましたが、対処療法ですね。
当然、根本原因であるkegare.shを削除することが、望ましいですが、
どこが原因か分からないときは、CTRL+Sで画面停止して、一旦落ち着くっていうことも大事です。