2017-07-21 6 views
0

私はAWS(Amazon Linux AMI)でPythonスクリプトを実行しています。スクリプトは24時間365日実行され、インタプリタまたはコマンドターミナルに出力されます。LinuxでPythonスクリプトの出力をフォアグラウンド/バックグラウンドにするにはどうすればよいですか?

まだ開発中ですので、エラーのために動作しているか、停止しているかを確認したいと思います。しかし、スクリプトを中断せずにssh接続を閉じたり、ローカルマシンをオフにしたり、リアルタイムでsshを呼び出して見ることができるようにしたいと考えています。

は、最初に私が使用:、ssh接続をクローズ中に戻って来て、それはまだ実行されていたことを見て、その後、nohup.outにすべてのprint文を書くためにうまく働い

[[email protected] dir]$ nohup python3 myscript.py & 

これをフォアグラウンドに持ってきてリアルタイムで印刷ステートメントを見て、それをバックグラウンドに送ってプログラムを中断することなくsshから切断する方法はありますか?

import time 

count = 0 

while count < 100000: 
    print('Im working!') 
    time.sleep(10) 
    count += 1 

print('All finished') 

答えて

1

を使用して実行するには:

コードは一般的な形式を持っていますあなたのプログラムをターミナルマルチプレクサに入れ、そこから切り離して接続を閉じます。あなたが帰ったら、同じセッションにアタッチして、あなたのプログラムが動いているのを見ることができます。 Ctrl + bとtmuxのセッションからデタッチtmux

$ tmux 

# run your program in the tmux shell: 
$ python3 myscript.py 

については

、その後d

あなたは今、安全にsshセッションがログインする

次の時間を終了することができ、ちょうどtmux attach、あなたがすることができますあなたはスクリプトの実行を参照してください。

追加: screenについてはdetachコマンドは再付着がscreen -rで行われ、Ctrl + adです。

+0

ありがとうございます!画面が表示されたソリューションがあったと考えて、ちょうどLinuxを学び始めました。 tmuxとscreenの両方で動作するようにしました。 –

1

(システム上で利用可能であるかに応じて)、バックグラウンドでタスクを保ち、そしてちょうどあなたがtmuxまたはscreen使用することができますtail -f nohup.out

関連する問題