Я хочу сделать следующее: После перезагрузки я хочу запустить экран, который затем должен выполнить сценарий. Поэтому я искал crontab и screen и тоже нашел ответы. Однако у меня ничего не работает. Я запускаю ubuntu linux с установленным экраном, и я хочу запустить скрипт python.
Следующее работает screen -d -m
, который открывает экран, но ничего не запускает. Вместо этого я хотел бы создать экран и запустить сценарий. Из того, что я нашел в сети, ответы показали, что это достигается с помощью screen -d -m scriptname
. В моем случае имя сценария - main.py (которое я проверил на возможность его выполнения).
Однако screen -m -d /path/to/main.py
не создает экран. Это мой вывод на консоль
$ screen -d -m /opt/main.py
$ screen -x
There is no screen to be attached.
Однако это работает, но не выполняет скрипт python:
$ screen -d -m
$ screen -x
Что я здесь делаю не так? Спасибо :)
На самом деле screen -d -m /path/to/executable-python-script.py
работает нормально.
Однако после завершения сценария экран автоматически закрывается. Также имейте в виду, что что-то вроде screen -d -m / usr / bin / python3 /path/to/executable-python-script.py
не работает !
Итак, используйте, например, следующий скрипт python testscript.py
для тестирования:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import time
def main():
for i in range(10):
print("Python3 Script " + str(i))
time.sleep(5)
main()
А затем выполните:
chmod + x testscript.py
screen -d -m / path / to / testscript.py
screen -x
, чтобы убедиться, что сценарий действительно запущен