W Bash disownwydane przez siebie polecenie usunie procesy działające w tle (przez bglub &) z aktywnej tabeli zadań i oznaczy je, aby nie otrzymywały POWIĘKSZENIA po wylogowaniu.
Możesz także przekazać jedno lub więcej zadań do odrzucenia, np disown 1 3. disown -hFlaga jest przydatna, jeśli chcesz zachować miejsca pracy w tabeli, ale nadal nie SIGHUP na wylogowania.
Możesz wyświetlić tabelę zadań, wydając jobspolecenie. Po udanym tle pojawi się [1]+ command &. Po odrzuceniu zadania nie powinno ono być wyświetlane w tabeli zadań i nie powinno być zabijane podczas wylogowywania. Nadal można zobaczyć proces za pomocą ps ux, toporaz innych narzędzi procesowych oglądania.
Po odrzuceniu zadania możesz poczekać na jego naturalne zakończenie lub wysłać sygnał killdo PID, aby go zatrzymać.
Ponieważ Bash po prostu usuwa zadanie z listy uruchomionych zadań do zakończenia, a uchwyty plików na stdout terminala i stderr są nadal otwarte, będziesz otrzymywać dane wyjściowe z zadania do momentu zamknięcia urządzenia terminala (po wylogowaniu) .
Przykłady:
# 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
Zwykle używam tylko disownjeśli uruchomić polecenie potencjalnie długo działa jak rsynclub cpa potem zdecydować, muszę się wylogować bez zakończenia go. Jeśli wiesz, że zamierzasz uruchomić polecenie i wylogować się, możesz przechwycić dane wyjściowe, przesyłając je strumieniowo lub teewrzucając do pliku, uruchamiając je nohuplub uruchamiając screen(co pozwala ci odzyskać własność polecenia / zakończyć później ).
Przykłady:
# 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