Bash snippet'ini uzaktan yürütülen bir ssh komutunun arka planına kopyaladım:
ssh user@remote <<CMD
some process <&- >log 2>error &
CMD
Ne yapar <&-
?
Benim tahminim bunun aynı olduğu< /dev/null
Bir sonraki anlayış üç ana dosya tanımlayıcıları (yani stdin
, stdout
, stderr
) engellemek için kapalı olması gerekir:
- İş arka plan ve komut dosyası çıkıyor - bir şekilde çakışıyor mu?
- Terminal kapatıldığında, terminalden stdin kabul eden tüm işlemler kapatılır mı?
ssh -nNT user@remote 'command'
etkileşimli olmayan bir SSH oturumu oluşturur. Ekleme &
arka kendisine, sona ekleme için nohup
için command
bağlantı ölmesi çalışmasını sağlamak için.
man ssh
, -N'nin uzak komut çalıştırmayı tamamen devre dışı bıraktığını ve hızlı bir testin bunu desteklediğini önerir.