Я скопировал фрагмент Bash в фоновую команду ssh, выполненную удаленно:
ssh user@remote <<CMD
some process <&- >log 2>error &
CMD
Что делает <&-
?
Я думаю, что это так же, как< /dev/null
Мое следующее понимание , что три основные файловые дескрипторы ( stdin
, stdout
, stderr
) должны быть закрыты , чтобы предотвратить:
- Работа на заднем плане и сценарий выхода - как-то конфликтует?
- Когда терминал закрывается, все процессы, которые принимают стандартный ввод от терминала, закрываются?
ssh -nNT user@remote 'command'
создаст неинтерактивный сеанс SSH. Добавьте &
к фону это, добавьте nohup
к, command
чтобы держать это работающим, если Ваше соединение умирает.
man ssh
предполагает, что -N полностью отключает запуск удаленной команды, и быстрый тест поддерживает это.