Saya menyalin cuplikan Bash ke latar belakang perintah ssh yang dijalankan dari jarak jauh:
ssh user@remote <<CMD
some process <&- >log 2>error &
CMD
Apa yang <&-
harus dilakukan
Dugaan saya adalah bahwa itu sama dengan< /dev/null
Pemahaman saya berikutnya adalah bahwa tiga deskriptor file utama ( stdin
, stdout
, stderr
) perlu ditutup untuk mencegah:
- Pekerjaan yang dilatar belakangi dan skrip yang keluar - entah bagaimana bertentangan?
- Ketika terminal ditutup, semua proses yang menerima stdin dari terminal ditutup?
ssh -nNT user@remote 'command'
akan membuat sesi SSH non-interaktif. Tambahkan &
ke latar belakang, tambahkan nohup
ke command
agar tetap berjalan jika koneksi Anda mati.
man ssh
menyarankan bahwa -N menonaktifkan menjalankan perintah jarak jauh sepenuhnya, dan tes cepat mendukungnya.