nohup tidak akan menampilkan prompt berikutnya dalam sesi SSH
Asumsikan bahwa saya terhubung melalui SSH pada sistem Ubuntu jarak jauh. Saya ingin menjalankan skrip di sana menggunakan nohup
jika koneksi potensial terputus dan mengarahkan lognya ke file. Perintah yang saya jalankan adalah
nohup bash myscript.sh > log.txt &
Kemudian, terminal mencetak PID dari skrip dan pesan:
nohup mengabaikan input dan mengalihkan stderr ke stdout
Kursor membeku di sana dan saya tidak dapat menjalankan perintah lain kecuali saya keluar dari sesi SSH dengan Ctrl+ Ddan masuk kembali. Saya lebih suka sesi SSH tetap terbuka dan melanjutkan ke prompt terminal berikutnya tanpa perlu masuk kembali. Apakah ada cara untuk mencapai hal ini?
Jawaban
Perintah ini berjalan di latar belakang seperti yang Anda harapkan. Namun, dalam contoh khusus ini ada kondisi balapan di mana pesan keluaran ditulis pecahan setelah prompt shell.
Hasil visualnya adalah prompt shell mendahului nohup
pesan atau sepenuhnya ditimpa.
Hasil praktisnya adalah karena shell telah menuliskan promptnya, maka shell siap untuk perintah berikutnya. Anda dapat menekan Enter untuk menghasilkan prompt baru, atau cukup ketik perintah selanjutnya.