Привет, я несколько дней пытался решить проблему с кодом моей диссертации. То, что я пытаюсь сделать, это запустить код Python на экране с помощью команды в Putty через:
$ screen ./Top.py
Top.py — это фиктивный код, который я сделал, чтобы попытаться разобраться с этим, а не ждать восемь часов, пока реальный код выдаст ошибку. Проблема, с которой он сталкивается, заключается в том, что 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 нет, и весь код работает гладко, если я никогда не отсоединяю экран. (Но полный код займет пару дней, поэтому я не могу оставить его прикрепленным.) Еще одно замечание: nohup просто есть, поэтому я могу получить файл nohup.out для дальнейшего использования, мой фактический код меняет каталог они расположены так, что не перезаписывают друг друга.
У меня нет проблем с тем, чтобы не использовать экран для запуска Call1 и Call2, но они должны работать параллельно и в фоновом режиме, чтобы остальная часть моего кода могла продолжаться.