Tüm Ürünler
Search
Belge Merkezi

:Keep processes running on Linux after an SSH disconnect

Son Güncelleme:Sep 30, 2026

Çözüm seçin

SSH oturumunuz kapandıktan sonra bir komutun çalışmaya devam etmesini sağlamak için aşağıdaki çözümlerden birini seçin:

Çözüm 1: nohup ve & komutlarını kullanın

nohup komutu, terminali kapattığınızda bir işlemin çalışmaya devam etmesini sağlar; & sembolü ise işlemi arka plana gönderir.

  1. Komutu arka planda çalıştırın.

    Bu komut, hem standart çıktıyı hem de hata çıktısını [your_log_file] dosyasına yönlendirir.

    sudo nohup [your_command] >[your_log_file] 2>&1 &
    Örneğin, bash hello.sh komutunu arka planda çalıştırmak ve çıktıyı geçerli dizindeki output.log adlı yeni bir dosyaya yazmak için aşağıdaki komutu çalıştırın: sudo nohup bash hello.sh > output.log 2>&1 & .
  2. Komut çıktısını görüntüleyin.

    sudo tail -f [your_log_file]
  3. İşlemi sonlandırın.

    Önemli

    İşlemi sonlandırmak, ilgili komutun veya görevin durmasına neden olur. Dikkatli olun.

    1. İşlem Kimliğini (PID) bulun. [your_command] ifadesini, 1. Adım içinde çalıştırdığınız komutla değiştirin.

      sudo ps aux | grep "[your_command]"
      Örneğin, sudo nohup bash hello.sh > output.log 2>&1 & komutunu çalıştırdıysanız, PID'yi bulmak için sudo ps aux | grep "bash hello.sh" komutunu çalıştırın.
    2. İşlemi sonlandırmak için sudo kill [PID] komutunu kullanın.

Çözüm 2: GNU screen kullanın

  1. GNU screen yükleyin.

    • Alibaba Cloud Linux ve CentOS için

      sudo yum install -y screen
    • Debian ve Ubuntu için

      sudo apt-get install -y screen
  2. Yeni bir oturum oluşturun ve bu oturuma girin.

    [Name] ifadesi, oturumunuz için belirlediğiniz özel addır.

    screen -S [Name]
    Örneğin, mysession adlı bir oturum oluşturmak için sudo screen -S mysession komutunu çalıştırın.
  3. Görevinizi yeni oturumda çalıştırın.

  4. Oturumu ayırın.

    Geçerli screen oturumundan ayrılmak için Ctrl+A+D tuşlarına basın.

  5. Oturuma yeniden bağlanın.

    1. Hedef oturumun PID'sini bulmak için mevcut screen oturumlarını listeleyin.

      sudo screen -ls
      There is a screen on:
              2046.mytask     (Detached)
      1 Socket in /run/screen/S-root.

      Bu örnekte, oturum PID'si 2046 değeridir.

    2. Oturuma yeniden bağlanın.

      [PID] ifadesini, önceki adımdaki oturum PID'si ile değiştirin.

      sudo screen -r -d [PID]
      Örneğin, PID'si 2046 olan oturuma yeniden bağlanmak için sudo screen -r -d 2046 komutunu çalıştırın.
  6. Oturumu sonlandırın.

    Önemli

    Bir oturumu sonlandırmak, bu oturum içinde çalışan tüm görevleri ve komutları da durdurur. Dikkatli olun.

    [PID] ifadesini oturumun PID'si ile değiştirin.

    sudo kill [PID]