Linuxでログアウトしてもコマンドを実行し続ける!(「nohup」と「&」で囲む!)

Linuxでログアウトしても実行し続けるようにコマンドを実行します。

コマンドを「nohup」と「&」で囲むで実行する!

「nohup」と「&」で囲んでコマンドを実行します。

$ nohup vmstat -t 3 100 > vmstat.log &
[1] 14667
$ nohup: ignoring input and redirecting stderr to stdout

$ ps -ef | grep vmstat | grep -v grep
usradmin   14667   14583  0 06:50 pts/0    00:00:00 vmstat -t 3 100
$ exit
logout
Connection to vmsrhe05 closed.

ログインし直して、実行され続けていることを確認します。

$ ssh vmsrhe05
Activate the web console with: systemctl enable --now cockpit.socket

This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register

Last login: Tue Jan 31 06:47:56 2023 from 10.1.1.1
$ ps -ef | grep vmstat | grep -v grep
usradmin   14667       1  0 06:50 ?        00:00:00 vmstat -t 3 100
$ cat vmstat.log
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 312208   3236 945232    0    0    20     7   30   49  0  0 100  0  0 2023-01-31 06:50:03
 0  0      0 312148   3236 945232    0    0     0     0   49   79  0  0 100  0  0 2023-01-31 06:50:06
 0  0      0 312148   3236 945232    0    0     0     0   39   76  0  0 100  0  0 2023-01-31 06:50:09
 0  0      0 312148   3236 945232    0    0     0     0   51  102  0  0 100  0  0 2023-01-31 06:50:12
 0  0      0 312148   3236 945232    0    0     0     0   46   90  0  0 100  0  0 2023-01-31 06:50:15
 0  0      0 312148   3236 945232    0    0     0     0   42   83  0  0 100  0  0 2023-01-31 06:50:18
 0  0      0 312148   3236 945232    0    0     0     0   44   88  0  0 100  0  0 2023-01-31 06:50:21
 0  0      0 312148   3236 945232    0    0     0    10   56  105  0  1 99  0  0 2023-01-31 06:50:24
 0  0      0 311788   3236 945232    0    0     0     0   61  103  0  0 100  0  0 2023-01-31 06:50:27
 0  0      0 316272   3236 945232    0    0     0     0  140  211  0  1 99  0  0 2023-01-31 06:50:30
 0  0      0 312000   3236 945220    0    0     0     0  225  288  1  1 98  0  0 2023-01-31 06:50:33
 0  0      0 312000   3236 945220    0    0     0     9   45   84  0  1 99  0  0 2023-01-31 06:50:36
 0  0      0 311728   3236 945220    0    0     0     0   56   94  0  0 100  0  0 2023-01-31 06:50:39
 0  0      0 311728   3236 945220    0    0     0     0   43   86  0  0 99  0  0 2023-01-31 06:50:42
 0  0      0 311696   3236 945220    0    0     0     0   50   99  0  0 100  0  0 2023-01-31 06:50:45

おわりに

長いコマンドの実行などで、ログオフして夜間にコマンドを実行し続けたい場合などは、「nohup」と「&」で囲んで実行することで実現できます。同じことは、cronコマンドで直接コマンドやシェル実行しても実現できるので、cronを使用できないときに特に役立つ方法です。

関連記事

関連書籍(Amazon)

N/A