Terminalinizde bir komut çalıştırıp dakikalarca, bazen saatlerce çalıştırıp terminalinizi tekrar kullanamamaktan daha can sıkıcı bir şey yoktur. Elbette sekmeleri kullanabilirsiniz, ancak bu hantal bir çözümdür ve her zaman optimal değildir çünkü çalışırken güncellemeleri görmek isteyebilirsiniz. Burada size Linux’ta arka planda bash komutlarını çalıştırmanın birkaç farklı yolunu gösteriyoruz.
& ile Komutu Bitir
Bir komutu arka plana itmek istiyorsanız, &
sonunda bunu yapmanın kolay bir yolu var. Bu şekilde arka planda bir komut verebilir ve terminalinizi çalışırken kullanmaya devam edebilirsiniz. Yine de bir yakalama ile geliyor. kullanma &
komutu sizden uzaklaştırmaz; sadece arka plana iter. Bu, terminali kullanmaya çalışırken, komutun zorlamak istediği herhangi bir şey anlamına gelir. STDOUT
veya STDERR
yine de yazdırılacak, bu da dikkat dağıtıcı olabilir.
COMMAND &
Terminal oturumu kapatıldığında komut sona erer. Komutu vererek de öldürebilirsiniz. jobs
komut, çalışan komutun numarasını bulma ve onu öldürme kill
emretmek. Bu sözdizimi aşağıdaki gibidir:

kill %1
kullanma &
Bir şeyi biraz ertelemeniz gerekiyorsa iyidir, ancak sonsuza kadar devam etmesini beklemeyin.
& Bir Komuttan Sonra, Onu Reddedin
Sadece ile bir komut çalıştırma &
arkaya doğru iter ve terminal penceresi açık olduğu sürece çalışmasını sağlar. Bununla birlikte, terminal oturumunuz sona ermiş olsa bile bu komutu sürekli olarak çalışır durumda tutmak istiyorsanız, disown
emretmek.
Bu yöntemi kullanmak için bir &
.
COMMAND &
Yukarıda belirtildiği gibi, kullanarak &
bu komutu arka plana iter ancak kullanıcınızdan ayırmaz. Bunu yazarak doğrulayabilirsiniz jobs
terminalin içine. Daha önce gördüğümüz gibi arka planda çalışan komutu gösterecektir.
Sadece yaz disown
kabuğun içine ve tam da bunu yapacak. (Ve bunu bir kez daha doğrulayabilirsiniz: jobs
emretmek.)

disown
orada komutaArtık terminalinizi kapatabilir ve gününüze devam edebilirsiniz. Hala bir şeyleri borulamaya devam edecek STDOUT
veya STDERR
, ancak terminalinizden çıkıp yeniden açtığınızda, orada hiçbir şey görmezsiniz. komutu ile tekrar bulabilirsiniz. top
veya ps
komutları ve ile öldür kill
emretmek.

& /dev/null ile bir Komuttan Sonra
Ekleme &
bir komuttan sonra arka plana bir komut gönderir, ancak sonuç olarak, arka plan komutu, siz onu kullanırken terminale mesajları yazdırmaya devam eder. Bunu önlemek istiyorsanız, komutu yeniden yönlendirmeyi düşünün. /dev/null
.

COMMAND &>/dev/null &
Bu, terminal kapandığında komutun kapanmasını engellemez. Ancak, yukarıda belirtildiği gibi, kullanmak mümkündür. disown
çalışan komutu kullanıcıdan uzak tutmak için. Artık çalışmasını istemiyorsanız, yukarıda belirtilen yöntemlerden biriyle de öldürebilirsiniz.
Nohup, & ve /dev/null ile
Önceki komutlardan farklı olarak, nohup
arka planda bir komut çalıştırmanıza ve onu çalışır durumda tutmanıza olanak tanır. Nasıl? nohup
HUP sinyalini atlar (sinyal kapatma), terminal kapalıyken bile komutları arka planda çalıştırmayı mümkün kılar. Bu komutu “/dev/null”a yeniden yönlendirme ile birleştirin (nohup’ın bir nohup.out dosyası oluşturmasını önlemek için) ve her şey tek bir komutla arka plana gider.
nohup COMMAND &>/dev/null &

Bugün Linux’taki çoğu terminal programı, arka planda çok az çabayla çalışmasına izin veren yerleşik özelliklere sahiptir. Bununla birlikte, modern başlatma sistemleri (systemd gibi), kullanıcıların hizmetler gibi programları açılışta veya her zaman başlatmalarına izin verebilir.
Yine de, Linux’taki bazı programlar bir arka plan programı olarak çalışma veya modern init sistemleriyle bütünleşme yeteneğinden yoksundur. Bu gerçek bir rahatsızlıktır, ancak tüm geliştiricilerin yeni özellikler ekleme becerisine veya zamanına sahip olmadığı için anlaşılabilir bir durumdur.
Neyse ki, gibi komutlar nohup
veya disown
hala bir gerçektir ve bunun gibi programların arka plana taşınmasındaki boşluğu kapatabilir. Mükemmel ya da süslü değiller ama gerektiğinde işi hallediyorlar.
Bu Linux makalesini beğendiyseniz, Google hesabınızı GNOME Shell’e nasıl bağlayacağınız, Windows kullanıcıları için en iyi Linux dağıtımları ve bilmeniz gereken LS komutları gibi diğer Linux içeriğimize göz atmayı unutmayın.