%50 indirim tüm planlar, sınırlı süre. Başlangıç ​​tarihi: $2.48/mo
8 dakika kaldı
Sunucular ve İşletim Sistemi

Nohup Komutu Linux'ta Nasıl Çalışır - Sözdizimi, Kullanım Durumları ve Örnekler

Ada Lovegood By Ada Lovegood 8 dakikalık okuma Güncelleme tarihi: 14 Temmuz 2024
nohup komutu

Eğer bir Linux geliştiricisiyseniz oturumlarınızın tutarlılığının ve güvenilirliğinin önemini bilirsiniz. Linux'ta uzun süredir devam eden işlemlerin, oturumdan çıkış yaptıktan sonra bile devam etmesi gerekir. Neyse ki Linux'un bu amaç için işlevsel bir komutu var. nohup komutu komutların arka planda kesintisiz çalışmasını sağlar. Bu şekilde veri kaybını önler ve değerli zamandan tasarruf sağlar. Bu kılavuz, söz dizimi ve seçeneklerinden pratik örneklere ve yaygın hataların giderilmesine kadar Linux nohup komutu hakkında bilmeniz gereken her şeyde size yol gösterecektir.

Linux nohup Söz Dizimini Anlamak

Nohup komutunun kullanımı kolay ve basittir. Arka planda komutları veya komut dosyalarını çalıştırmanıza olanak tanır, böylece terminalde oturumunuzu kapattıktan sonra bile bunların yürütülmeye devam ettiğinden emin olursunuz. İşte nasıl kullanılacağı:

nohup [command] [arguments] &

Değiştirmelisin [emretmek] çalıştırmak istediğiniz komut veya komut dosyasıyla. Ve [argüman] komutun gerektirdiği herhangi bir argüman veya seçenektir. & sembolü arka planda çalışacak komutu gönderir. Bir örnek görelim:

nohup myscript.sh &

Bu örnekte, myscript.sh terminali kapatsanız bile çalışmaya devam edecek bir bash betiğidir. Çıktı adlı bir dosyaya yönlendirilecek nohup.out başka bir yol belirtmediğiniz sürece varsayılan olarak.

Nohup Seçeneklerini Keşfetmek

Nohup komutunun kendisi çok fazla seçeneğe sahip olmasa da, çeşitli komutlar ve yeniden yönlendirme teknikleriyle nasıl etkili bir şekilde kullanılacağını anlamak, performansını artırabilir. Öncelikle nohup komutu hakkında nasıl bilgi alabileceğimize bakalım:

nohup –-help 
nohup --version

Bu iki komut, yardım mesajını ve nohup sürümünü göstererek size bazı yararlı bilgiler verir.

Nohup Komutuyla Bir İşlem Çalıştırmak

Nohup komutuyla bir işlem yürütmek istiyorsanız son bölümde anlattığım yapıyı takip edebilirsiniz:

nohup [command]

Arka planda bir işlemi çalıştırmak istiyorsanız, şunu eklemeniz yeterli: & emrinizin sonuna kadar.

Nohup Komutu ile Arka Planda Birden Fazla İşlem Çalıştırma

Peki, nohup komutunu kullanarak arka planda birden fazla işlemi çalıştırmak isterseniz ne olur?

nohup bash -c '[command A] && [command B]' &

Yer değiştirmek [komut A] Ve [B komutu] arka planda çalıştırmak istediğiniz komutlarla. Öncelikle sistem paketlerinizi güncellemek, ardından gereksiz dosyaları temizlemek istediğinizi ve bunu nohup komutunu kullanarak yapmak istediğinizi düşünün:

nohup bash -c 'sudo apt-get update && sudo apt-get autoremove -y' &

Bu örnekte, hayır hem güncelleme hem de temizleme işlemlerinin arka planda çalışmaya devam etmesine olanak tanır. Böylece terminali açık tutmanıza gerek kalmadan sistem bakım görevleriniz tamamlanır.

Özel Çıkışı Yönlendirme

Bu işlemin çıktısı şuraya yönlendirilecektir: nohup.out varsayılan olarak. Peki ya çıktıyı başka bir yoldan almak istiyorsanız? Bunu nasıl yapabileceğiniz aşağıda açıklanmıştır:

nohup [command] > [/path/to/new/output.txt]

içindeki değerleri değiştirmeyi unutmayın [] İstediğiniz komut ve dosya yolu ile.

Nohup'ı Diğer Komutlarla Birleştirmek

nohup, güçlü komut zincirleri oluşturmak için diğer komutlar ve kanallarla birleştirilebilir. Bunun bir örneğini görelim:

nohup find / -name "*.log" | xargs grep "ERROR" > error_logs.txt 2>&1 &

Burada, bulmak komutu günlük dosyalarını aramak için kullanılır ve grep “HATA” terimini aramak için kullanılır. Birleştirilmiş çıktı şuraya yönlendirilir: error_logs.txt.

Bu bölümde nohup komutunun en yaygın seçeneklerini ve kullanım durumlarını ele aldık. Bu talimatlara hakim olarak Nohup'ı arka planda Linux işlemlerini çalıştırmak için etkili bir şekilde kullanabilirsiniz.

Yaygın Hatalar ve Sorun Giderme

Nohup komutunu kullanmak genel olarak basittir ancak işlem sırasında bazı yaygın hatalarla karşılaşabilirsiniz. Bu hataları anlamak ve bunların nasıl giderileceğini bilmek, zamandan ve hayal kırıklığından tasarruf etmenizi sağlayabilir. Şimdi bu yaygın hataların neler olduğunu ve bunlarda nasıl gezinileceğini görelim:

İzin reddedildi

Bu hata, çalıştırmaya çalıştığınız komut dosyası veya komutun yürütme iznine sahip olmaması durumunda oluşur. Hatanın çıktısı şöyle görünür: nohup: 'myscript.sh' komutu çalıştırılamadı: İzin reddedildi

Bu sorunu çözmek için komut dosyasının veya komutun doğru izinlere sahip olduğundan emin olmanız gerekir. kullanarak yürütme izni ekleyebilirsiniz. mod emretmek:

chmod +x myscript.sh 
nohup ./myscript.sh &

Komut Bulunamadı

Bu hata, komut veya komut dosyası belirtilen konumda bulunmazsa veya PATH'inizde mevcut değilse oluşur. Hatanın çıktısı şöyle görünür: nohup: 'myscript.sh' komutu çalıştırılamadı: Böyle bir dosya veya dizin yok

Bu hatayı çözmek için komut veya betiğin mevcut olduğunu ve doğru dizinde olduğunu doğrulamanız gerekir. Komut dosyasının mutlak yolunu sağlamanız gerekebilir:

nohup /path/to/myscript.sh &

Ayrıca komutun PATH'inizde kurulu ve kullanılabilir olduğundan emin olun.

Çıkış Yok

Bazen terminalde veya çıktı dosyasında çıktı olmadığını fark edebilirsiniz. Komut çıktı üretiyorsa ancak bunu göremiyorsanız, varsayılan dosyadan farklı bir yola yönlendirilmiş olabilir veya dosya izinleriyle ilgili bir sorun olabilir. Bu sorunun üstesinden gelmek için, çıktı dosyasının doğru şekilde yönlendirildiğinden emin olmak amacıyla açıkça belirtmeniz gerekir:

nohup myscript.sh > output.log 2>&1 &

Örnek olarak, bu komut hem standart çıktıyı hem de standart hatayı adlı bir dosyaya yönlendirir. output.log.

Komut Dosyası Arka Planda Çalışmıyor

Bazen komut dosyanız veya komutunuz çalışıyor gibi görünebilir ancak arka planda çalışmaz. Nedeni genellikle basittir. Eklemeyi unutmuş olabilirsiniz & Arka planda çalıştırmak için komutun sonundaki sembol. Çözüm de basit, sadece bunu eklediğinizden emin olun ve hazırsınız.

Asılı veya Yanıt Vermeyen Süreç

Nohup ile başlatılan bir süreç askıda kalabilir veya yanıt vermeyebilir. İşlem girdiyi bekliyorsa veya erişmeye çalıştığı kaynaklarla ilgili sorunlar varsa bu durum meydana gelebilir. Bu sorunun iki çözümü var:

  • Gerekli Girişi Kontrol Edin: Komutun herhangi bir etkileşimli giriş gerektirmediğinden emin olun.
  • Kaynak Sorunları: Komutun gerekli kaynaklara (ör. dosyalar, ağ) erişimi olduğunu doğrulayın.

Nohup.out'un üzerine yazma

Nohup komutunu kullanarak arka planda birden fazla işlem çalıştırıyorsanız, istemeden işlemin üzerine yazabilirsiniz. nohup.out dosya. Bu sorunu önlemek için her işlem için belirli bir yol seçebilirsiniz. Bu şekilde her işlemin kendine özgü çıktı dosyası olur ve varsayılan yolun üzerine yazılmaz.

Sık karşılaşılan nohup hatası ve çözümlerini öğrenerek nohup komutunu sorunsuz bir şekilde kullanabilirsiniz.

Çözüm

Nohup komutu, işlemleri arka planda çalıştırması gereken herhangi bir Linux kullanıcısı için harika bir araçtır çünkü işlemlerinizin çıkış yaptıktan sonra bile çalışmaya devam etmesini sağlar. Bu kılavuzda temel sözdizimini ele aldık, çeşitli seçenekleri araştırdık ve sorun giderme ipuçlarıyla birlikte yaygın hataları tartıştık. Nohup komutunda ustalaşmak, uzun süren görevleri verimli bir şekilde yönetmenize olanak tanır ve bu da üretkenliğinizi ve sistem yönetimi becerilerinizi artırır.

Linux deneyiminizi en üst düzeye çıkarmak isteyen bir Linux geliştiricisiyseniz, güvenilir bir sürüme geçmeyi düşünün. Linux VPS'si. Bulut tabanlı VPS hizmetimiz 7/24 destek ve %99,95 kesintisiz çalışma garantisi sunar; bu da uygulamalarınızın her zaman sorunsuz çalıştığı ve günün her saatinde yardım alabileceğiniz anlamına gelir. Sağlam altyapı ve güvenilir kaynaklarla VPS'miz Linux programcılarının taleplerini karşılamak üzere tasarlanmıştır. Ayrıca tercih ettiğiniz Linux dağıtımını önceden yükleyerek kurulumu hızlı ve kolay hale getirebilirsiniz. İhtiyacınız olan gücü ve esnekliği sağlayan bir VPS ile Linux projelerinizi bir sonraki seviyeye taşıyın.

SSS

arasındaki fark nedir? hayır Ve &?

hayır Kullanıcı oturumu kapattığında işlemin sonlandırılmasını önlerken, & arka planda bir işlemi çalıştırır. Kullanma hayır Oturum kapatıldıktan sonra sürecin devam etmesini sağlar ve bunu aşağıdakilerle birleştirir: & arka planda çalışmasına olanak sağlar.

Nohup neden kullanılıyor?

hayır Kullanıcı oturumu kapattıktan veya terminal kapatıldıktan sonra bile bir komut veya komut dosyasının çalışmaya devam etmesini sağlamak için kullanılır. Kullanıcı müdahalesi olmadan aktif kalması gereken uzun süreli işlemler için gereklidir.

Nohup out dosyası nedir?

The nohup.out file, nohup'un bir komutun standart çıktısını ve standart hatasını yeniden yönlendirdiği varsayılan çıktı dosyasıdır. Başka bir çıktı dosyası belirtilmemişse, komutun çıktısı şuraya kaydedilir: nohup.out geçerli dizinde.

Paylaşmak

Blogdan daha fazlası

Okumaya devam edin.

Cosmos Cloud ile Çalıştırabileceğiniz En İyi Kendi Kendine Barındırılan Uygulamalar Cosmos kontrol panelinin etrafındaki uygulama panellerini içeren kapak resmi.
Sunucular ve İşletim Sistemi

Cosmos Cloud ile Çalıştırabileceğiniz En İyi Kendi Kendine Barındırılan Uygulamalar: Dosyalar, Medya, Parolalar, Otomasyon ve Daha Fazlası!

Belki Cosmos Cloud'u kurdunuz ve şimdi hangi uygulamaların onunla iyi eşleştiğini görmek istiyorsunuz ya da belki henüz Cosmos'a karar vermediniz ve sadece işinize ne kadar iyi uyduğunu görmek istiyorsunuz.

Nick GümüşNick Gümüş 16 dakikalık okuma
Docker Uygulamalarını Yönetmek için Portainer ve Cosmos Cloud, hibrit kurulum şeması ve neon operasyonlar ve erişim blokları ile kapsıyor.
Sunucular ve İşletim Sistemi

Portainer ve Cosmos Cloud: Docker Uygulama Yönetimi için En İyi Uyum

Docker'ı zaten biliyorsanız ve büyüyen bir uygulama yığınını çalıştırmanın daha temiz bir yolunu istiyorsanız işte Portainer ve Cosmos Cloud'un kısa yanıtı. Portainer yönetmenlik için daha güçlü bir seçim

Nick GümüşNick Gümüş 14 dakikalık okuma
Cosmos Cloud, CasaOS ve Umbrel karşılaştırması, soyut bir bulut ağı dünyasında kendi kendine barındırılan üç yolu gösteren grafik özelliği.
Sunucular ve İşletim Sistemi

Cosmos Cloud, CasaOS ve Umbrel: Hangi Kendi Kendine Barındırılan Platform Kurulumunuza Uygun?

Kısa cevap, CasaOS'un hala başlamak için en kolay yer olduğu, Umbrel'in en temiz küratörlük hissine sahip olduğu ve Cosmos Cloud'un, doma üzerinde daha sıkı kontrol istediğinizde daha mantıklı olduğudur.

Nick GümüşNick Gümüş 11 dakikalık okuma

Dağıtıma hazır mısınız? Aylık 2,48dan başlayan fiyatlarla.

Bağımsız bulut, 2008'den beri. AMD EPYC, NVMe, 40 Gbps. 14 gün içinde para iadesi.