Назад | Перейти на главную страницу

Запуск сеанса фонового экрана из ssh.

Я хотел бы передать команду серверу, чтобы он работал, скажем, навсегда! под «сеансом экрана» с помощью ssh.

поэтому я использую что-то вроде

ssh -t root@server screen -S myinf "python infinit1.py &"

где infinit1.py - это скрипт. Проблема: «python infinit1.py» не работает в фоновом режиме и не создается экран с именем «myinf».

Я ценю твои намеки.

сделай это

 ssh -t root@server "nohup bash -c '( ( /usr/bin/python infinit1.py &> /dev/null ) & )'"

это связано с тем, что открывшемуся терминалу необходимо закрыть и, следовательно, он не может поддерживать выполнение команды. чтобы увидеть результат, замените / dev / null на фактическое имя файла.

Я не пробовал использовать удаленный экран, поэтому пропустил это. возможно, вы сможете заставить его работать, но, возможно, синтаксис немного не работает.

Это связано с тем, что вызываемый вами экран требует для работы pty. Вам нужно будет запустить экран в автономном режиме:

ssh root@server screen -d -m -S myinf python infinit1.py

Вам не нужны кавычки или амперсанд. Вместо этого используйте параметры -d -m для запуска экрана в автономном режиме. Взгляните на страницу руководства для получения дополнительной информации.

Рабочий пример командной строки:

ssh $host screen -S myinf -d -m tail -F /var/log/dmesg