Процесс SSH не завершается, когда я запускаю фоновую команду на удаленном хосте

Я нашел решение своего вопроса.

Нужно добавить строку

<X-PRE-PROCESS cmd="set" data="rtp_notimer_during_bridge=true"/>

в файле

/etc/freeswitch/vars.xml

Это приводит к тому, что FreeSwitch в режиме моста сохраняет исходные интервалы между пакетами.

0
03.12.2019, 22:24
2 ответа

Альтернативным подходом может быть

cat do_sync | ssh "root@ip" 'nohup sh -s'

Я предполагаю, что эффект, который вы видите, связан с тем, что вы выполняете ./do_syncв фоновом режиме. Это только кажется, что процесс все еще висит. Если вы на самом деле не видите открытое соединение?

0
28.01.2020, 03:03

Хитрость с nohup иногда заключается в перенаправлении всех трех стандартных потоков. Это должно сработать для вас:

cat./do_sync | ssh root@ip "cat > /tmp/do_sync && chmod 777 /tmp/do_sync ;  nohup /tmp/do_sync 2>/dev/null >/dev/null </dev/null &"

Но без перенаправления для nohupон будет заблокирован.

2
28.01.2020, 03:03

Теги

Похожие вопросы