💨
Linux jobsコマンドを理解する
本記事を書くきっかけ
LPIC1の勉強で、jobsコマンドに遭遇。
「これいつ使うんだ?」と思ったので、掘り下げてみました。
疑問1 ジョブって何?プロセスとの違いは?
- ジョブ = シェルから見た、実行中のコマンドのこと。
jobs
コマンドで確認できる - プロセス = OSから見た、実行中のプログラムのこと。
ps
コマンドで確認できる
疑問2 あるジョブが実行中に別のジョブを実行するなんてできるの?コマンド実行中のときは新しいコマンド実行できないと思うんだけど…
あるジョブ(コマンド)が実行中でも、それをバックグラウンドで動かせば、別のコマンド(ジョブ)を同じシェルで新たに実行できる
疑問3 どうやってバックグラウンドで実行させることができるの?
2種類のやり方がある
- コマンドの末尾に
&
をつける - ジョブを
Ctrl+Z
で止めて、その後bg
コマンドを実行する → 停止したジョブがバックグラウンドで実行再開される
まとめ 結局jobsコマンドは、何のためにあるの?
バックグラウンドで実行しているコマンドが何かを知りたいときに使う!
Discussion