yerleşik komut arka plan işlemi olarak yürütülürken bash'te ne olur


0

Güncellenmiş:

İç komut normal uygulamada ayrı işlem olarak yapılmamıştı çünkü kabuk ile yapıldı.

fakat eğer yerleşik işlem arkaplana uygulandıysa, bash tarafından hangi adımların atıldığı.

  1. Bu işlem ayrı bir dosyadan nasıl yürütülür?

    1. Yerleşik komutta kodunu içeren bir dosya oluşturuyor mu ve çalıştırıyor mu?
    2. Veya bash, bu komutu çalıştırmadan önce bash-c "cd" olarak dönüştürüyor mu?
  2. neden bazı yerleşik komutlar, okuma ve yazma gibi herhangi bir giriş beklemeden anında çıkıldı?

  3. Neden bash komutu (dosya) kontrol etmeden önce ilk PID sağladı.

teşekkür ederim,

Yanıtlar:


3

Anlıyor göründüğünüz gibi echo, çalışan kabuk tarafından işlenen kabuk yerleşik işlevleri ve bu nedenle ön planda (normal olarak) yeni bir işlem başlatmanız gerekmez.

Ancak, onları arka plana gönderirseniz, ayrı bir kabuk tarafından kontrol edilmeleri gerekir ve sonuç olarak söz konusu komutla yeni bir kabuk işlemi başlatırlar. Bu, arka planda bir işlem göndermenin aşağıdaki gibi iş numarasının yanında yeni işlem kimliğini göstereceğinden bash'te gözlemlenmesi oldukça kolay olmalıdır:

$ echo 'hi' &
[1] 19536
hi

Bu durumda, işlem 19536 yeni bir bash örneğidir.


teşekkürler, O zaman neden okuma yerleşik komutunda gösterilen durdu mesaj arka plan işlemine gidiyor?
purushothaman poovai

Hmmm. Kavramları karıştırıyor gibi görünüyorsun. Bir arka plan işlemi durmaz ve siz yönlendirmezseniz standart girdi, çıktı ve hatalarını da korur.
Julie Pelletier

Teşekkürler, çoğunlukla bazı çıktıların davranışlarını görmek konusunda kafam karıştı.
purushothaman poovai
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.