Ayrıca nohup
"&" ve alt kabuğu kullanarak işlemi arka planda başlatabilirsiniz:
Komutu & ile sonlandırın ve parantez içine alın
$ (thecommand args &)
Diyelim ki süreç 1922 pidini kazanıyor:
$ ps -f
UID PID PPID C STIME TTY TIME CMD
usr 11473 2643 0 15:07 pts/1 00:00:00 bash
usr 11922 1 0 15:11 pts/1 00:00:00 thecommand
Orijinal ebeveyni olan 11473 kabuk işleminden bağımsız olduğunu görün. Bu nedenle, mevcut kabuktan (11473) çıkarsanız veya öldürürseniz, işlem 11922 çalışmaya devam eder ve bu, puanlardan ayrılır.
Kabuktan çıkmaya çalışın ve yeni bir kabuk girin. Bu kabuk aynı puanlara bağlı olsa bile, işlemi şimdi bir puan olmadan görebilirsiniz:
$ ps -fp 11922
UID PID PPID C STIME TTY TIME CMD
usr 11922 1 0 15:11 ? 00:00:00 thecommand
Posix'te nasıl adlandırıldığını veya belgelendiğini bilmiyorum, ancak 1990'dan beri bsh, ksh ve şimdi bash'da kullanıyorum.
Son olarak, bg
yerleşik kabuk komutunu kullanabilirsiniz:
Programınızı başlatın ve duraklatmaya karar verirseniz veya arka planda tutmayı planlıyorsanız CTRL + Z yazın:
$ thecommand
^Z
[1] Stopped thecommand
Şimdi arka planda çalışmaya devam etmesine izin verin:
$ bg
[1]+ thecommand &
Süreç bilgilerine bakarsanız, bunun henüz bir üst süreci yoktur:
$ ps -f
UID PID PPID C STIME TTY TIME CMD
usr 12046 2643 0 15:18 pts/6 00:00:00 bash
usr 12571 12046 0 16:00 pts/6 00:00:00 thecommand
usr 12601 12046 0 16:04 pts/6 00:00:00 ps -f
Yani, mevcut işlemden çıkın. Arka planda çalışan işlem orijinal üst öğesinden bağımsızdır ve arka planda çalışmaya devam eder:
$ exit
Tekrar giriş yapın ve işlem bilgilerine bakın:
$ ps -f 12571
UID PID PPID C STIME TTY TIME CMD
usr 12571 1 0 16:00 ? 00:00:00 thecommand
disown
komut gerçekleştirdi . Döndü: bash: uyarı: işlem grubu 24876 ile durdurulmuş iş 1'i silme. Şimdi işim listelendi,ps -all
ancak çalışmıyor gibi görünüyor (CPU kullanımı% 0)