ログアウトしてもプロセス継続
$ nohup <command>
とすれば、バックグラウンドで動作して、ログアウトしてもプロセスが生き残ります。(シャットダウンすると消えます。)(あとで)確認して停止する
あとで確認するには$ps x
でよく見ればpid(プロセスID)が分かりますから、kill pid
としてプロセスを殺します。テキスト出力
$ nohup <command> > file.txt &
・ > file.txt とするとfile.txtに出力されます。設定ない場合はnohup.out・ 末尾に&オペレータを入れると、PIDが出力されます。
例
foo.pyを用意して実行します#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
for i in range(5):
print (i)
time.sleep(3)
これで $ nohup python foo.py
nohup: ignoring input and appending output to 'nohup.out' 入力を無視して出力をnohup.outに追加します。とコンソール上に出力されます。
--
std.outにprint出力していたので、バックグラウンド動作させつつもログアウトしない間はコンソールに同時に出力したいな〜と思ったのですが、無理みたいです。
https://serverfault.com/questions/414341/redirect-nohup-to-stdout
loggingで出力する方がよいですね。ちなみにloggingのコンソール出力はnohup.outに出力されます。
0 件のコメント:
コメントを投稿