Я написал скрипт, который по сути делает 2 вещи:
Все идет хорошо, пользовательский интерфейс запускается, затем программа запускается на сервере. Но как только я закрываю интерфейс, удаленный процесс уничтожается.
Соответствующие части сценария:
ui_pid = subprocess.check_output('/home/user/git/sim_ui.sh', shell=True) command = 'ssh user@server "bash -c \'cd program_dir/ && echo \"running program >> log.out && ./program.sh >> log.out\'"' print command os.system(command)
sim_ui.sh :
nohup ui_binary args > ui_out.txt &
Я также не могу выяснить, что убило процесс на сервере, т.е. сигнал, который завершил процесс и откуда он возник.
Редактировать: когда я добавляю screen -dm
перед bash -c
он работает отлично.