Using nohup to allows jobs to continue on logout
İçindekiler:
- Nohup Komutu Nasıl Kullanılır
- Komutu Arka Planda Çalıştırma
- Çıktıyı Dosyaya Yeniden Yönlendirme
- Alternatifler
- Ekran
- tmux
- sahip çıkmamak
- Sonuç
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.
Genellikle, SSH üzerinden bir program çalıştırdığınızda, bağlantınız koparsa veya oturumu kapatırsanız, oturum sonlandırılır ve terminalden yürütülen tüm işlemler durur.
nohup
komutu burada
nohup
. Tüm kapatma sinyallerini yoksayar ve işlem çalışmaya devam eder.
Nohup Komutu Nasıl Kullanılır
nohup
komutunun sözdizimi aşağıdaki gibidir:
nohup COMMAND
Komut, standart
--help
ve
--version
dışında başka seçenekleri kabul etmez.
Aşağıdaki örneğe bakalım:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
mycommand
komutunu ön planda çalıştırır ve komut çıkışını
nohup.out
dosyasına yönlendirir. Bu dosya geçerli çalışma dizininde oluşturulur. Komutu çalıştıran kullanıcının çalışma dizinine yazma izni yoksa, dosya kullanıcının ana dizininde oluşturulur.
Oturumu kapatır veya kapatırsanız, işlem sonlandırılmaz.
Komutu Arka Planda Çalıştırma
Komutu tamamlayana kadar kabukla etkileşime
nohup
için ön planda
nohup
kullanmak çok kullanışlı değildir.
Komutu arka planda çalıştırmak için komutun sonuna
&
sembolünü ekleyin:
nohup mycommand &
Çıktı, kabuk iş kimliğini (parantez içine alınmış) ve işlem kimliğini içerir:
25177
fg
komutunu kullanarak komutu ön plana getirmek için iş kimliğini kullanabilirsiniz.
Herhangi bir nedenle işlemi sonlandırmak isterseniz,
kill
komutunu ve ardından işlem kimliğini kullanın:
Çıktıyı Dosyaya Yeniden Yönlendirme
Varsayılan olarak,
nohup
komut çıkışını
nohup.out
dosyasına yönlendirir. Çıktıyı farklı bir dosyaya yeniden yönlendirmek istiyorsanız, standart kabuk yeniden yönlendirmesini kullanın.
Örneğin, standart çıktıyı ve standart hatayı
mycommand.out
yönlendirmek için şunları kullanırsınız:
nohup mycommand > mycommand.out 2>&1 &
Standart çıktıyı ve standart hatayı farklı dosyalara yeniden yönlendirmek için:
nohup mycommand > mycommand.out 2> mycommand.err &
Alternatifler
Terminali kapattığınızda veya bağlantı kesildiğinde bir komutun sonlandırılmasını önlemek için kullanabileceğiniz birkaç alternatif 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; bu, terminali kapatsanız bile Tmux'da çalışan programların çalışmaya devam edeceği anlamına gelir.
sahip çıkmamak
disown
, bir kabuk işini kabuğun iş denetiminden kaldıran bir kabuk yerleşikidir.
nohup
farklı
nohup
, çalıştırma işlemlerinde
disown
özelliğini de kullanabilirsiniz.
Sonuç
nohup
, oturumu kapattığınızda veya terminalden çıktığınızda komutların sonlandırılmasını önlemenizi sağlar.
Linux'ta Chmod komutu (dosya izinleri)
Linux'ta dosyalara erişim, dosya izinleri, öznitelikler ve sahiplik aracılığıyla yönetilir. Bu eğitici dosya ve dizinlerin erişim izinlerini değiştirmek için chmod komutunun nasıl kullanılacağını kapsar.
Linux'ta Chgrp komutu (grubu değiştir)
Linux'ta her dosya bir sahip ve bir grupla ilişkilendirilir ve hangi kullanıcıların dosyayı okuyabileceğini, yazabileceğini veya yürütebileceğini belirleyen izinlere sahiptir. Chgrpc komutu, verilen dosyaların grup sahipliğini değiştirir.
Linux'ta cp komutu (dosyaları kopyala)
cp, Unix ve Linux sistemlerine dosya ve dizin kopyalamak için kullanılan bir komut satırı yardımcı programıdır.







