GNU/Linux >> Linux の 問題 >  >> Linux

Linuxコマンド:jobs、bg、およびfg

このクイックチュートリアルでは、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の技術概要。 ]


Linux
  1. バックグラウンドおよびフォアグラウンドでのLinuxコマンドの実行

  2. Linuxmvコマンド

  3. Linuxduコマンド

  1. Linuxipコマンド

  2. Linuxエコーコマンド

  3. Linux の jobs コマンド オプション

  1. Linuxのwatchコマンドでコマンドとタスクを監視する

  2. Linuxコマンドを保存してオンデマンドで使用する方法

  3. 使用したことがない5つのLinuxコマンド