Использование nohup при попытке запустить скрипт Python35?

67
7

Я пытаюсь запустить программу python на сервере linux, используя консоль-шпатель, вытаскивая программу и пакеты из папки, загруженной на сервер через WinSCP. Когда я запускаю программу, используя команду:

python35 program.py

Он отлично работает и начинает бежать. Проблема в том, что мне нужно запустить программу на сервере, когда мой компьютер выключен, и окно шпатлевки исчезло.

Я читал, что вы можете использовать команду nohup для этого, но всякий раз, когда я запускаю:

nohup python35 program.py &

Он возвращает:

ignoring input and appending output to 'nohup.out'
nohup: failed to run command 'python35': No such file or directory

На этом этапе программа не запускается, и в WinSCP создается пустой файл nohup.out.

Почему это происходит? Как я могу это исправить? До сих пор я не мог найти эквивалентных ошибок на SO.

спросил(а) 2017-10-30T16:25:00+03:00 2 года, 8 месяцев назад
1
Решение
54

Как указано выше в комментариях, python35 является псевдонимом оболочки. Поскольку nohup запускает заданную команду внутри подоболочки, псевдонимы, определенные в процессе родительской оболочки, будут недоступны.

Используйте следующую команду:

nohup /opt/rh/rh-python35/root/usr/bin/python program.py &

ответил(а) 2017-10-31T05:37:00+03:00 2 года, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема