& Latar belakang dengan baik kecuali untuk program yang kembali yang memerlukan interaksi konsol nanti (misalnya, "pembaruan apt & y" yang akhirnya memasuki status STOP karena ingin memberi pengguna pertanyaan "benar-benar sangat memaksa?") .... ketika tidak ada yang menonton lagi).
Untuk menyumbat lubang itu dan menginformasikan proses terminal tidak akan pernah benar-benar tersedia untuk itu, saya menambahkan <& - untuk beberapa perintah saya, benar-benar melepaskan mereka dari terminal aktif memberitahu mereka STDIN tidak mungkin lagi. Pastikan / bin / bash adalah shell Anda jika Anda menggunakannya. Script akan terus mencatat kesalahan yang terkait dengan tidak ada pseudoterminal yang tersedia untuk memberikan prompt.
Sebagai contoh:
`./runme.sh &> runme.log <&- & disown`
adalah cara utama saya melepaskan diri dari sesi terminal saat ini. Baik STDOUT dan STDERR bisa masuk ke runme.log, tidak masalah jika konsol atau shell Anda berakhir lebih cepat atau jika Anda logout / su ke akun yang berbeda (tidak ada sampah terminal dari runme), dan terima kasih untuk menolak bahkan orang tua-anak Hubungan PID dihapus.
UPDATE: bahkan dengan itu saya punya masalah dengan semaphore mengaitkannya dengan nama induk asli, jadi sekarang saya sarankan sebagai gantinya:
at now <<< "(cmd1; cmd2; etc.) &> logfile.log"
Tentu saja, hapus &> jika Anda ingin mengirim output melalui email dari CRON, atau mengarahkan semuanya ke / dev / null alih-alih file.
screen
) dapat, antara lain, digunakan untuk "membungkus" proses yang berjalan lebih lama. Anda dapat melepaskannya, kembali ke shell, lalu pasang kembali dan lihat output dari proses yang berjalan. Penyambungan kembali bahkan dapat dilakukan dari terminal lain, SSH dll. Mungkin juga ada program lain yang memungkinkan Anda melakukan hal semacam ini.