Bash'te disown
kendi başına verilen komut , arka plandaki ( bg
veya yoluyla &
) işlemleri etkin iş tablosundan kaldıracak ve oturum kapatıldığında SIGHUP almayacak şekilde işaretleyecektir.
Ayrıca beğenmemek için bir veya daha fazla işi geçirebilirsiniz disown 1 3
. disown -h
Bayrak Tabloda işler tutmak istiyorsanız yararlıdır, ancak yine de çıkış yapınca SIGHUP değil.
jobs
Komutu vererek iş tablosunu görüntüleyebilirsiniz . Başarılı bir arka plandan sonra gösterecektir [1]+ command &
. Bir işi reddettikten sonra, artık iş tablosunda gösterilmemeli ve artık çıkışta öldürülmemelidir. Hala aracılığıyla sürecini görüntüleyebilir ps ux
, top
ve diğer işlem görüntüleme araçları.
Bir iş reddedildikten sonra, işin doğal olarak sona ermesini bekleyebilir veya kill
durdurmak için PID'ye bir sinyal gönderebilirsiniz .
Bash işi sonlandırmak için çalışmakta olan işler listesinden çıkardığı ve terminalinizin stdout ve stderr'ındaki dosya tanıtıcıları hala açık olduğundan, terminal cihazınız kapanana kadar işten çıktı almaya devam edersiniz (çıkış yaptığınızda) .
Örnekler:
# 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
Genellikle yalnızca veya disown
gibi uzun süre çalışan bir komut çalıştırırsam ve daha sonra sonlandırmadan oturumu kapatmam gerektiğine karar veririm. Bir komut çalıştıracağınızı ve oturumu kapatacağınızı biliyorsanız, çıktıyı bir dosyaya borulandırarak veya işleyerek, çalıştırarak veya içinde çalıştırarak yakalayabilirsiniz (bu, komutun sahipliğini yeniden almanıza / daha sonra sonlandırmanıza olanak tanır) ).rsync
cp
tee
nohup
screen
Örnekler:
# 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