Что я пытаюсь сделать: я пытаюсь выполнить пару команд bash на удаленной машине, используя ssh, и я хочу, чтобы эти команды завершали выполнение даже после завершения сеанса ssh. закрывается в середине исполнения.
Что я сделал до сих пор: Я использую Putty для подключения к ssh (одна из причин использования putty в том, что одна машина — Windows, а удаленная машина — mac-os и мне нужен способ инициировать ssh через команду Python). Я передаю файл command.txt, и он содержит все команды, которые я хочу выполнить.
putty -ssh [email protected] -m command.txt ( not real ip)
command.txt: выглядит так:
export PATH=$PATH:/usr/local/bin
echo $PATH; sleep 1
tmux -c 'queue.sh'
sleep 100
После подключения к ssh, чтобы мой скрипт/команды продолжали работать на удаленной машине даже после закрытия ssh-сессии на другой машине, я использую tmux.
Но проблема в том, что даже после использования tmux процессы, вызываемые queue.sh, завершаются, как только я закрываю сеанс ssh.
я тоже пробовал
export PATH=$PATH:/usr/local/bin
echo $PATH; sleep 1
tmux
queue.sh
sleep 100
делает то же самое.
Что я также пробовал: Если я просто передаю следующие команды с помощью ssh (в command.txt)
export PATH=$PATH:/usr/local/bin
echo $PATH; sleep 1
tmux
а затем вручную введите queue.sh в терминал tmux, в этом случае я могу закрыть ssh-терминал, и удаленная машина продолжит выполнение процессов.
Есть предложения? Я хочу иметь возможность передавать все через файлы сценариев и поддерживать работу процессов на удаленной машине (mac-os) даже после закрытия сеанса ssh на другой машине .
Спасибо