Я скопировал фрагмент 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 полностью отключает запуск удаленной команды, и быстрый тест поддерживает это.