Bir görev yürütülürken (dosya kullanmadan) terminalde seri görevler sağlamanın bir yolu var mı?


14

2 görevler olduğunu varsayalım t1, t2aşağıdaki gibi bir seri bir şekilde yürütülebilir:

t1 ; t2
# OR
t1 && t2

Şimdi varsayalım koşmayı unuttum t2ve t1zaten çalışıyor; bittikten t2sonra yürütülmesi için boru hattına ekleyebilir miyim t1?

Yanıtlar:


19

Evet yapabilirsin:

  1. İle şu anda çalışan iş Pause karakteri askıya basarak Ctrl+ Z.
  2. Yazın fgya %, mesela listeye istediğini eklemek ve çalıştırmak,:
    fg ; systemctl suspend # or
    % ; systemctl suspend
    Yana fggetiri dönüş o devam işinin değeri, gibi liste operatörler &&ve ||çalışma beklendiği gibi:
    fg && echo "Finished successfully!" # or
    % && echo "Finished successfully!"

man bash/ JOB CONTROL askıya alma karakteri hakkında şunları söylüyor:

Yazma askıya karakter (genellikle ^Z, Control- Z) işlemi durduruldu ve iadeler için kontrol edilecek bir süreç nedenlerini çalışırken bash. (…) Kullanıcı daha sonra bgarka planda fg devam etmek için komutu, ön planda devam etmek için killkomutu veya öldürmek için komutu kullanarak bu işin durumunu değiştirebilir . A ^Zhemen etkili olur ve bekleyen çıktı ve yazım kafasının atılmasına neden olan ek yan etkiye sahiptir.

fgman bash/ SHELL BUILTIN KOMUTLARI bölümünde açıklanmıştır :

fg [ jobspec ]
Devam jobspec ön planda ve mevcut iş yapmak. Eğer jobspec bulunmaz, geçerli işin kabuk kavramı kullanılır. Dönüş değeri, ön plana yerleştirilen komutun değeri veya iş denetimi devre dışı bırakıldığında çalıştırılırsa veya iş denetimi etkinken çalıştırılırsa, jobspec geçerli bir iş belirtmezse veya jobspec , iş denetimi olmadan başlatılan bir işi belirtir .

man bashİş kontrolü hakkında daha fazla okuma (bir yana ):


1 ama unutur zaman bu işe yaramazsa bir utanç t3içinde t1; t2; t3ya t1 && t2 && t3.
JoL

@JoL Doğru - ^Z^Zve %-;%+;t3bazı durumlarda yeterince iyidir, ancak soruna gerçek bir çözüm olmaktan çok uzaktır.
tatlı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.