このクイックチュートリアルでは、jobs
を見たいと思います コマンドと、システムで実行されているジョブを操作するためのいくつかの方法。つまり、ジョブを制御することで、Linuxシェルで開始されたプロセスを一時停止および再開できます。
ジョブ
jobs
コマンドは、システム上のすべてのジョブを一覧表示します。アクティブ、停止、またはその他。コマンドと出力を調べる前に、システムでジョブを作成します。
sleep
を使用します 意味のある方法でシステムを変更することはないので、仕事をします。
[tcarrigan@rhel ~]$ sleep 500
^Z
[1]+ Stopped sleep 500
まず、sleep
を発行しました コマンドを実行すると、ジョブ番号を受け取りました [1]。 次に、 Ctl + Zを使用してすぐにジョブを停止しました 。次に、jobs
を実行します 新しく作成されたジョブを表示するコマンド:
[tcarrigan@rhel ~]$ jobs
[1]+ Stopped sleep 500
ジョブ番号[1]で識別される停止したジョブが1つあることがわかります。 。
このコマンドについて知っておくべき他のオプションは次のとおりです。
- -l-デフォルト情報に加えてPIDを一覧表示します
- -n-前回の通知以降に変更されたプロセスのみを一覧表示します
- -p-PIDのみを一覧表示します
- -r-実行中のジョブのみを表示
- -s-停止したジョブのみを表示する
背景
次に、sleep
を再開します バックグラウンドでの仕事。これを行うには、bg
を使用します 指図。さて、bg
ここに示すように、コマンドの構文は非常に単純です。
bg [JOB_SPEC]
JOB_SPECは、次のいずれかになります。
- %n-ここで n はジョブ番号です
- %abc- abcで始まるコマンドによって開始されたジョブを指します
- %?abc- abcを含むコマンドによって開始されたジョブを指します
- %--前のジョブを指定します
注 :bg
およびfg
JOB_SPECが指定されていない場合は、現在のジョブを操作します。
ジョブ番号[1]を使用して、このジョブをバックグラウンドに移動できます 。
[tcarrigan@rhel ~]$ bg %1
[1]+ sleep 500 &
これで、バックグラウンドで実行中のジョブが1つあることがわかります。
[tcarrigan@rhel ~]$ jobs
[1]+ Running sleep 500 &
フォアグラウンド
それでは、バックグラウンドジョブをフォアグラウンドに移動する方法を見てみましょう。これを行うには、fg
を使用します 指図。コマンドの構文は、フォアグラウンドコマンドとバックグラウンドコマンドで同じです。
fg [JOB_SPEC]
JOB_SPECの詳細については、上記の箇条書きを参照してください。
新しいsleep
を開始しました バックグラウンドで:
[tcarrigan@rhel ~]$ sleep 500 &
[2] 5599
次に、次のコマンドを使用して、フォアグラウンドに移動します。
[tcarrigan@rhel ~]$ fg %2
sleep 500
fg
コマンドにより、システムがスリープ状態に戻りました。
終わり
ここで紹介する仕事は些細なことだと思いますが、これらの概念はsleep
以外にも適用できます。 指図。それを必要とする状況に遭遇した場合、実行中または停止中のジョブをフォアグラウンドからバックグラウンドに移動し、再び元に戻す知識が得られます。
[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]