1. ホーム
  2. Linux

centos - centos7 で Python プログラムをバックグラウンドで実行する。

2022-02-21 04:13:34

サーバー上では、ターミナルを終了してもプログラムが実行されるように、バックグラウンドで実行されるように設定する必要があります。

キーコマンドです。 nohup

*基本的な使用方法です。

実行するpyファイルのディレクトリへ。


nohup python -u test.py > test.log 2>&1 &

* 意味を説明します。
nohup 切らないという意味
python test.py python は test.py ファイルを実行します。

-uは、プログラムがキャッシュを有効にしないことを意味し、出力が直接ログに書き込まれます。このパラメータがない場合、ログファイルの生成に遅れが生じます

> test.logは出力ログをこのログに保存します。

2>1 2と>の組み合わせはエラーのリダイレクトを表し、1は標準出力ではなくファイル1へのエラーのリダイレクトを表します。 
2>&1 2>&1 に置き換えると、&と1の組み合わせが標準出力を表すことになり、標準出力にエラーリダイレクトされた状態になります。

& 最後の&は、コマンドがバックグラウンドで実行されることを意味します。

*コマンドはプロンプトで実行されます

[1] 2880

プロセス2880が実行されていることを表します。

* nohubコマンドで実行されているすべてのバックグラウンドプロセスを表示します。

仕事

* バックグラウンドで動作しているすべてのプロセスを表示します。

ps -aux

* バックグラウンドで実行されているすべての python プロセスを表示します。

ps aux |grep python または ps -ef | grep python

*プロセス削除

kill -9 [プロセスID].

-9は強制削除の意味