「入門者のLinux」第十二章
第十二章「プロセスの管理と操作」
Linuxはたくさんの処理を同時に行っている。
その仕組みをマルチタスクという。
現在進行中の仕事を確認するには、
[ps au]
というコマンド。
そうすると、処理している仕事を1行に1つという単位で示す。
この個々の行で示されている仕事をプロセスという。
[sleep 10 &]
[sleep 10]
は10秒間待つコマンド。
[&]
はコマンドをシェル以外のところで走らせることができる。
これをバックグラウンドという。
バックグラウンドで走らせることで、そのシェルに他のコマンドが打つことが出来る。
バックグラウンドで走らせているコマンドを元の画面に戻したくなることがある。
その場合には「fg」というコマンドを打つ。
バックグラウンドの対義語はフォアグラウンド。
つまり、目の前のシェルの画面で実行することを指す。
フォアグラウンドで実行したあと、「ああ、バックグラウンドですればよかった!」って時がある。
そういう時はコマンドを実行したあと、
[CTRL]キー+[z]キー...一時停止
いったんコマンドを停止させてから
[bg]
を打って完了。
3つのコマンドがパイプでつながっているとき、
[コマンド1 | コマンド2 | コマンド3]
これら全体が1つのジョブとみなされる。
ジョブっていうのはまとめて実行されるプロセスの集まり。
つまり、これは3つのプロセスの集まりってこと。
Linuxは安定したOSですが、ときにフリーズすることもある。
強制終了したくなりますねぇ。
シェル上で動いているコマンドなら、[CTRL]+[c]で強制終了できることが多い。
しかしそれでも終わってくれないときがあるし、一見終わったように見えてもまだ動いているときがある。
そういう場合は「kill」コマンド!
「kill」コマンドはプロセスを直接的に強制終了してくれる。
「kill」コマンドを使う場合はプロセスIDが必要になるので、別のターミナルを立ち上げ「ps au」コマンドでプロセスIDを調べる。
[kill プロセスID]...強制終了
画面全体がフリーズして別のターミナルすら立ち上げることが出来ない場合の方法が2つある。
・[CTRL]+[Alt]+[F1]...GUIウィンドウ全体が停止する。
画面全体が1つのCUIのターミナルになる。
[CTRL]+[Alt]+[F7]で元のGUIに戻る。
・別のコンピュータからSSHというやり方でログインし「ps au」して「kill」する。
「kill」コマンドを使っても終了できないときは、「kill」コマンドに「-kill」というオプションをつける。
[kill -kill プロセスID]