Android

Linux komutlarını arka planda çalıştırma

How to Create Bootable USB Linux Media with usbimager

How to Create Bootable USB Linux Media with usbimager

İçindekiler:

Anonim

Genellikle terminalde bir komut çalıştırdığınızda, başka bir komut girmeden önce komutun bitmesini beklemeniz gerekir. Bu komutun ön plan veya ön plan işleminde çalıştırılması olarak adlandırılır. Bir işlem ön planda çalıştığında, kabuğunuzu işgal eder ve giriş aygıtlarını kullanarak etkileşime girebilirsiniz.

Komutun tamamlanması uzun zaman alırsa ve bu arada başka komutlar çalıştırmak isterseniz ne olur? Kullanabileceğiniz birkaç seçenek var. En açık ve anlaşılır seçenek, yeni bir kabuk oturumu başlatmak ve içindeki komutu çalıştırmaktır. Başka bir seçenek de komutu arka planda çalıştırmaktır.

Arka plan işlemi, terminalden başlatılan ve kullanıcıdan etkileşim olmadan arka planda çalışan bir işlem / komuttur., arka plan süreçleri Linux hakkında konuşacağız. Arka planda bir komutun nasıl başlatılacağını ve kabuk oturumu kapatıldıktan sonra sürecin nasıl çalıştırılacağını göstereceğiz.

Arka Planda Linux Komutu Çalıştırın

Arka planda bir komut çalıştırmak için, komutun sonuna ve işareti ( & ) ekleyin:

command &

Kabuk işi kimliği (parantez içine alınmış) ve işlem kimliği terminalde yazdırılır:

25177

Arka planda aynı anda çalışan birden çok işleminiz olabilir.

Arka plan işlemi, komutu çağırdığınız terminale mesaj yazmaya devam edecektir. stdout ve stderr iletilerini bastırmak için aşağıdaki sözdizimini kullanın:

command > /dev/null 2>&1 &

>/dev/null 2>&1 , stdout /dev/null ve stderr stdout .

Geçerli kabuk oturumunda durdurulan ve arka plandaki tüm işlerin durumunu görüntülemek için jobs yardımcı programını kullanın:

jobs -l

Çıktıda iş numarası, işlem kimliği, iş durumu ve işi başlatan komut bulunur:

+ 25177 Running ping google.com &

Bir arka plan işlemini ön plana getirmek için fg komutunu kullanın:

fg

fg %1

Arka plan işlemini sonlandırmak için kill komutunu ve ardından işlem kimliğini kullanın:

kill -9 25177

Ön Plan İşlemini Arka Plana Taşıma

Arka planda çalışan bir ön plan işlemini taşımak için:

  1. Ctrl+Z yazarak işlemi durdurun. Bg yazarak durdurulan işlemi arka plana bg .

Kabuk Çıktıktan Sonra Arka Plan İşlemlerini Çalıştırmaya Devam Edin

Bağlantınız koparsa veya kabuk oturumundan çıkış yaparsanız, arka plan işlemleri sonlandırılır. Etkileşimli kabuk oturumu sona erdikten sonra işlemi çalışır durumda tutmanın birkaç yolu vardır.

Bunun bir yolu, disown shell yerleşimini kullanarak işi kabuğun iş denetiminden kaldırmaktır:

disown

disown %1

Jobs jobs -l komutunu kullanarak jobs -l etkin işler tablosundan kaldırıldığını doğrulayın. Reddedilenler de dahil olmak üzere çalışan tüm işlemleri listelemek için ps aux komutunu kullanın.

Kabuk çıkışından sonra bir işlemi çalıştırmanın başka bir yolu nohup kullanmaktır.

nohup komutu, bağımsız değişkeni olarak belirtilen başka bir programı yürütür ve tüm SIGHUP (kapatma) sinyallerini yoksayar. SIGHUP , kontrol terminali kapalı olduğunda bir işleme gönderilen bir sinyaldir.

nohup komutunu kullanarak arka planda bir komut çalıştırmak için nohup yazın:

nohup command &

Komut çıkışı nohup.out dosyasına yönlendirilir.

nohup: ignoring input and appending output to 'nohup.out'

Alternatifler

Aynı anda birden fazla etkileşimli oturum yapmanıza izin veren bir dizi program vardır.

Ekran

Ekran veya GNU Ekran, bir ekran oturumu başlatmanıza ve o oturum içinde istediğiniz sayıda pencereyi (sanal terminaller) açmanıza izin veren bir terminal çoklayıcı programıdır. Ekranda çalışan işlemler, bağlantınız kesilse bile pencereleri görünmediğinde çalışmaya devam eder.

tmux

Tmux, GNU ekranına modern bir alternatiftir. Tmux ile bir oturum oluşturabilir ve o oturumun içinde birden çok pencere açabilirsiniz. Tmux oturumları kalıcıdır, yani Tmux'da çalışan programlar terminali kapatsanız bile çalışmaya devam eder.

Sonuç

Arka planda bir komut çalıştırmak için komutun sonuna & ekleyin.

Arka planda bir komut çalıştırdığınızda, başka bir komut yürütmeden önce bitmesini beklemenize gerek yoktur.

nohup fg bg iş reddedildi terminal