Linux nohup Komutu: Arka Planda Kesintisiz İşlem Rehberi
Linux’ta bir işlem başlatıp terminali kapattığınızda sürecin durması yaygın bir sorundur.
nohup, bu problemi çözerek işlemleri oturumdan bağımsız çalıştırır.
Bu rehberde, uzun süren görevlerinizi kesintisiz nasıl yöneteceğinizi öğreneceksiniz.
Bu Rehberde Ne Öğreneceksiniz?
nohupkomutunun çalışma mantığını- Çıktıları otomatik olarak dosyalara yönlendirmeyi
- İşlemleri terminale bağlı kalmadan arka planda çalıştırmayı
- Çalışan süreçleri izlemeyi ve güvenle sonlandırmayı
Teknik Özet
Bu rehber, Linux’ta süreçleri SIGHUP sinyalinden koruyan nohup komutunu ele alır.
Amaç, terminal kapansa bile uzun süreli görevlerin devam etmesini sağlamaktır.
Kapsanan başlıklar:
- Temel nohup kullanımı
- Çıktı yönlendirme
- Arka plan süreç yönetimi
- Alternatif araç karşılaştırması
nohup Komutu Nedir?
nohup, “no hang up” anlamına gelir.
Terminal kapandığında gönderilen SIGHUP sinyalini yok sayar.
Bu sayede süreçler arka planda çalışmaya devam eder.
Temel nohup Sözdizimi
nohup komut argumanlar
- Bu yapı, komutu oturumdan bağımsız başlatır.
Uygulamalı nohup Örnekleri
- Basit Bir Betiği Çalıştırma
nohup ./hello.sh
- Bu komut betiği SIGHUP sinyalinden korur.
- Varsayılan Çıktıyı Okuma
cat nohup.out
- Komut çıktıları varsayılan olarak nohup.out dosyasına yazılır.
- Çıktıyı Özel Dosyaya Yönlendirme
nohup ./hello.sh > sonuc.txt
- Bu kullanım nohup.out oluşmasını engeller.
- Hata ve Çıktıyı Birleştirme
nohup ./hello.sh > tum_cikti.log 2>&1
- Bu komut hata ve çıktıyı tek dosyada toplar.
- İşlemleri Arka Planda Çalıştırma
nohup tek başına terminali serbest bırakmaz. Bunun için & kullanılmalıdır.
nohup ping google.com &
- Bu komut işlemi arka plana alır.
- Çalışan Süreci Bulma ve Durdurma
pgrep -a ping
- Bu komut süreç ID’sini gösterir.
kill PID
- Bu komut belirtilen süreci sonlandırır.
| Araç | Kullanım Amacı | Etkileşim | Açıklama |
|---|---|---|---|
| nohup | Tekil komutları korumak | Yok | nohup, bir komutun oturum kapatıldığında veya terminalden çıkıldığında bile çalışmaya devam etmesini sağlar. Ancak, terminaldeki etkileşim sınırlıdır. |
| screen | Oturumdan ayrılıp dönmek | Orta | screen, birden fazla sanal terminal oturumu oluşturmanıza olanak tanır. Terminalden çıkıp geri dönmenizi sağlar, ancak kullanıcı etkileşimi mümkündür. |
| tmux | Gelişmiş oturum yönetimi | Yüksek | tmux, ekran bölme ve çoklu oturum yönetimi özellikleri sunar. Yüksek etkileşimle, birden fazla terminal oturumunu aynı anda yönetebilirsiniz. |
nohup, etkileşimsiz işler için idealdir. tmux, uzun ve interaktif çalışmalar için uygundur.
Önemli Davranışlar ve Sınırlar
-
SSH koparsa süreç devam eder
-
exit sonrası işlem çalışmayı sürdürür
-
Sunucu reboot olursa süreç durur
-
kill -9 nohup’u durdurur
-
Yeniden başlatma için systemd servisleri gerekir.
-
Loglama ve Disk Kullanımı Uyarısı nohup.out uzun süreli işlemlerde hızla büyüyebilir. Disk dolmaması için çıktıları özel dosyalara yönlendirin.
-
Gerekirse /dev/null kullanabilirsiniz:
nohup ./hello.sh > /dev/null 2>&1 &
Sıkça Sorulan Sorular (SSS)
1. nohup kullanırken terminali kapatabilir miyim? Evet. & ile arka plana aldıysanız güvenle kapatabilirsiniz.
2. Sistem yeniden başlarsa nohup çalışır mı? Hayır. reboot sonrası işlemler durur.
3. nohup.out çok büyürse ne olur? Disk alanı dolabilir. Logları yönetin veya temizleyin.
4. “Permission denied” hatası alıyorum Betik çalıştırma iznine sahip olmayabilir.
chmod +x betik_adi.sh
Sonuç
nohup, Linux’ta uzun süren işlemler için sade ve güvenilir bir çözümdür. Doğru loglama ile üretim ortamlarında sorunsuz çalışır.
Bu yöntemi Rabisu Bulut altyapısındaki Linux sunucularınızda güvenle kullanabilirsiniz 🚀