💨

Linux jobsコマンドを理解する

に公開

本記事を書くきっかけ

LPIC1の勉強で、jobsコマンドに遭遇。
「これいつ使うんだ?」と思ったので、掘り下げてみました。

疑問1 ジョブって何?プロセスとの違いは?

  • ジョブ = シェルから見た、実行中のコマンドのこと。jobsコマンドで確認できる
  • プロセス = OSから見た、実行中のプログラムのこと。psコマンドで確認できる

疑問2 あるジョブが実行中に別のジョブを実行するなんてできるの?コマンド実行中のときは新しいコマンド実行できないと思うんだけど…

あるジョブ(コマンド)が実行中でも、それをバックグラウンドで動かせば、別のコマンド(ジョブ)を同じシェルで新たに実行できる

疑問3 どうやってバックグラウンドで実行させることができるの?

2種類のやり方がある

  1. コマンドの末尾に&をつける
  2. ジョブをCtrl+Zで止めて、その後bgコマンドを実行する → 停止したジョブがバックグラウンドで実行再開される

まとめ 結局jobsコマンドは、何のためにあるの?

バックグラウンドで実行しているコマンドが何かを知りたいときに使う!

Discussion