Di Bash, disownperintah yang dikeluarkan dengan sendirinya akan menghapus proses berlatar belakang (melalui bgatau &) dari tabel pekerjaan aktif, dan menandainya untuk tidak menerima SIGHUP saat logout.
Anda juga dapat melewati satu atau beberapa pekerjaan untuk ditolak, seperti disown 1 3. The disown -hflag berguna jika Anda ingin menyimpan pekerjaan di meja, tapi masih tidak SIGHUP di logout.
Anda dapat melihat tabel pekerjaan dengan mengeluarkan jobsperintah. Setelah latar belakang yang sukses, itu akan ditampilkan [1]+ command &. Setelah menyangkal pekerjaan, seharusnya tidak lagi ditampilkan di tabel pekerjaan, dan tidak lagi terbunuh saat keluar. Anda masih bisa melihat proses melalui ps ux, topdan proses-melihat utilitas lain.
Setelah suatu pekerjaan ditolak, Anda dapat menunggu sampai pekerjaan itu berhenti secara alami atau mengirim sinyal killke PID untuk menghentikannya.
Karena Bash hanya menghapus pekerjaan dari daftar pekerjaan yang sedang berjalan untuk diakhiri dan file menangani ke stdout dan stderr terminal Anda masih terbuka, Anda akan terus menerima output dari pekerjaan itu sampai perangkat terminal Anda ditutup (ketika Anda logout) .
Contoh:
# we start a command in the background
$ cat /dev/urandom > test &
[1] 18533
# we see our command is still running
$ jobs
[1]+ Running cat /dev/urandom > test &
# we disown the backgrounded job
$ disown 1
# notice it is no longer in the job table
$ jobs
Saya biasanya hanya menggunakan disownjika saya menjalankan perintah yang berpotensi berjalan lama seperti rsyncatau cpdan setelah itu memutuskan saya harus keluar tanpa menghentikannya. Jika Anda tahu Anda akan menjalankan perintah dan keluar, Anda dapat menangkap output dengan memiparkan atau teememasukkannya ke file, menjalankannya dengan nohup, atau menjalankannya screen(yang memungkinkan Anda untuk mengambil kembali kepemilikan perintah / mengakhiri setelah itu ).
Contoh:
# capture stdout and stderr to separate logs
cat /dev/urandom >stdout.log 2>stderr.log
# capture stdout and stderr to the same log, and display to stdout as well
cat /dev/urandom 2>&1 | tee output.log
# run a command under nohup (doesn't require a disown or job control support)
nohup cat /dev/urandom </dev/null