2

こんにちは、私は数日間、論文コードの一部の問題を解決するのに苦労しています。私がやろうとしているのは、Puttyのコマンドを介して画面内でpythonコードを実行することです:

    $ screen ./Top.py

Top.py は、実際のコードでエラーが発生するまで 8 時間待つのではなく、これを整理するために作成したダミー コードです。発生する問題は、subprocess.call() が切り離された画面から新しい画面を開始できないことです。

Top.py の内容:

    #!/usr/bin/env python

    import time
    import subprocess

    time.sleep(10)

    subprocess.call(["screen", "nohup", "./Call1.py", "&"])
    subprocess.call(["screen", "nohup", "./Call2.py", "&"])
    time.sleep(10)

Call1.py と Call2.py に問題はなく、画面を切り離さなければコード全体がスムーズに実行されます。(ただし、完全なコードには数日かかるため、添付したままにすることはできません。) もう 1 つの注意点は、nohup がちょうどそこにあるため、後で参照できるように nohup.out ファイルを取得できることです。実際のコードはディレクトリを変更します。それらは互いに上書きしないように配置されています。

screen を使用して Call1 と Call2 を実行しなくても問題はありませんが、残りのコードを続行できるように、それらを並行してバックグラウンドで実行する必要があります。

私が来た解決策に最も近い-私は思う.....

4

0 に答える 0