Linuxで開始したコマンドをバックグラウンドで実行する!(Ctrl-z/bg/fg)

Linuxで開始したコマンドをバックグラウンドで実行します。

コマンドをフォアグランドで実行する!

コマンドプロンプでコマンドラインを専有するコマンドを実行します。

$ vmstat -t 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 JST
 2  0      0 728752   3236 614732    0    0   111    11   37   68  0  0 100  0  0 2023-02-05 10:43:16
 0  0      0 728692   3236 614732    0    0     0     0   15   28  0  0 100  0  0 2023-02-05 10:43:21

コマンドを一時停止する!

コマンドラインで別なコマンドを実行したくなったので、「Ctrl-z」で一時停止します。

$ vmstat -t 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 JST
 2  0      0 728752   3236 614732    0    0   111    11   37   68  0  0 100  0  0 2023-02-05 10:43:16
 0  0      0 728692   3236 614732    0    0     0     0   15   28  0  0 100  0  0 2023-02-05 10:43:21
^Z
[1]+  Stopped                 vmstat -t 5 10

一時停止中のコマンドを確認してみます。

コマンドプロンプトが使用できるようになったので、一時停止したコマンドを確認してみます。

$ jobs
[1]+  Stopped                 vmstat -t 5 10

一時停止したコマンドをバックグラウンドで実行する!

$ bg
[1]+ vmstat -t 5 10 &
[usradmin@vmsrhe05 ~]$  3  0      0 728632   3236 614732    0    0     0    16  775 1372  0  0 100  0  0 2023-02-05 10:47:00
 0  0      0 728632   3236 614732    0    0     0     0   13   22  0  0 100  0  0 2023-02-05 10:47:05

バックグラウンドで実行しているコマンドをフォアグランドで実行する!

$ fg
vmstat -t 5 10
 0  0      0 728600   3236 614732    0    0     0     0   21   37  0  0 100  0  0 2023-02-05 10:47:10
 0  0      0 728600   3236 614732    0    0     0     0   17   34  0  0 100  0  0 2023-02-05 10:47:15
 0  0      0 728600   3236 614732    0    0     0     0   17   31  0  0 100  0  0 2023-02-05 10:47:20
 0  0      0 728600   3236 614732    0    0     0     0   16   28  0  0 100  0  0 2023-02-05 10:47:25
 0  0      0 728600   3236 614732    0    0     0     0   19   36  0  0 100  0  0 2023-02-05 10:47:30
 0  0      0 728600   3236 614732    0    0     0     0   17   31  0  0 100  0  0 2023-02-05 10:47:35

おわりに

複数のコマンドを実行したい場合は、さらにログインすればよいのですが、1ユーザで接続できるセッション数を1に制限している場合があります。そのような場合には、フロントで実行しているコマンドをバックグランドで実行させれば、他のコマンドを並行して実行することができます。

おわりに

headやtailは、データファイルやログファイルの確認で、頻繁に使用される便利なコマンドです。

関連記事

関連書籍(Amazon)

N/A