Ctrl + z geçerli işi arka plana gönderir, ancak durdurur.
Ve durdurulmuş bir işe nasıl devam edilir?
Ctrl + z geçerli işi arka plana gönderir, ancak durdurur.
Ve durdurulmuş bir işe nasıl devam edilir?
Yanıtlar:
arka planda çalıştırmak için "bg" çalıştırabilirsiniz.
"fg" bunu ön plana taşır
Bg ve fg'nin PID yerine # işi aldığını unutmayın, bu nedenle aynı anda birden fazla işiniz varsa, iş numaralarını almak için "jobs" komutunu kullanın.
bir programı komut satırında "&" ile arka plan işi olarak da başlatabilirsiniz.
Örneğin
programım &
Çıktının (hem stdout hem de stderr) hala geçerli tty'ye gideceğini unutmayın, bu nedenle / dev / null veya bir günlük dosyasına yeniden yönlendirmek genellikle iyi bir fikirdir:
programım> ~ / program.log 2> & 1 &
her iki örnekte de, diğerleri gibi bir arka plan işi olduğundan, yine de 'fg' ile ön plana getirebilirsiniz (ancak çıktıyı yeniden yönlendirdiyseniz çok fazla görmezsiniz).
Bash'ta, bir "bg" girilmesi, işin girilmesi gereken girişi engelleyene kadar arka plana koyar. Yararsız olabilecek STDERR ve STDOUT'a çıktı vermeye devam edecektir. İşi ön plana getirmek için "fg" girebilirsiniz.
[adjuster@mx02 ~]$ cp ~/crap/* ~/crap2
(Ctrl-Z)
[1]+ Stopped cp ~/crap ~/crap2
[adjuster@mx02 ~]$ cp ~/crap3/* ~/crap4
(Ctrl-Z)
[2]+ Stopped cp ~/crap3/* ~/crap
[adjuster@mx02 ~]$ jobs
[1]+ Stopped cp ~/crap ~/crap2
[2]+ Stopped cp ~/crap3/* ~/crap
[adjuster@mx02 ~]$ bg 1
[1]- cp ~/crap ~/crap2 &
[1]- Exit 1 cp ~/crap ~/crap2
[adjuster@mx02 ~]$ fg 2
[adjuster@mx02 ~]$
Bu, uzun bir kopyalama işi başlatmak ve askıya almak, ikinci bir uzun kopyalama işi başlatmak ve askıya almak, ardından ilk kopyalama işini arka plana koymak ve çalışmasını sağlamak, ardından ilk kopyalama işinden çıkmaktı. Sonra son kopyalama işini ön plana koydum ve bitmesine izin verdim.
bg 1
vefg 1
benim için çalışma, amabg %1
vefg %1
yap.