Почему ssh + nohup не работает с сетевыми процессами?
Я пытался использовать SSH для запуска некоторых сценариев установки по сети. Первоначально эти сценарии использовались git clone
но я продолжал получать код ошибки 141
(который, кажется, SIGPIPE
согласно списку рассылки git). Попытка заменить git на wget показывает ту же проблему, а именно:
ssh user@server 'nohup wget http://google.ch &' // produce no result on the server
ssh user@server // then on the server
nohup wget http://google.ch & // works
Уже пробовал с разных серверов (debian / ubuntu / vm / native). Использование apt таким способом работает, хотя. Есть идеи о причинах и предлагаемых решениях? Заранее спасибо.
1 ответ
Решение
Для тех, кто находится в похожих ситуациях, указатель @shellter был хорошим чтением (спасибо!). Одним из решений является использование -t -t
в качестве флагов ssh и будьте осторожны, чтобы не включить фоновый переключатель в команду, то есть:
ssh -t -t user@server 'nohup command' > /dev/null 2>&1 &