Невозможно начать сеанс экрана

Невозможно начать сеанс экрана

Я вызываю следующую команду через bash, но она вообще не создает сеанс экрана:

screen -d -m time python3 myscript.py ; sleep 1

когда я screen -rэто делаю, он говорит, что нет экрана для возобновления. Однако, когда я пытаюсь:

screen -d -m time python3; sleep 1

Затем при выполнении screen -rэтого отображается консоль Py.

Что я делаю не так?

решение1

screen -d -m time python3 myscript.pyзапускается python3 myscript.pyвнутри сеанса экрана, затем завершается. Если вы не видите сеанс экрана позже, это потому, что скрипт уже завершился.

Кажется, вы ожидали, myscript.pyчто он будет работать дольше. Что-то пошло не так. Перенаправьте вывод (особенно ошибки) в файл, чтобы увидеть, что происходит. Или сохраните сеанс, запустив другую программу.

screen -d -m time sh -c 'python3 myscript.py; echo $?; sleep 999999999'

Если скрипт не работает при запуске его непосредственно с экрана, но работает при запуске из интерактивной оболочки, весьма вероятно, что это указывает на две вещи:

  • myscript.pyзависит от некоторых настроек, возможно, переменной окружения. Он не является самодостаточным.
  • Вы устанавливаете этот параметр в неправильном месте. Вероятно, вы устанавливаете переменную среды в .bashrc, которая считывается только интерактивными оболочками. Установите переменные среды в .profile; этот файл считывается при входе в систему.

Связанный контент