Konuyu Açan
#0
Python scriptlerini Linux sistemlerde arka planda çalıştırmak, genellikle sunucu uygulamaları veya uzun süreli işlemler için gereklidir. Bu işlem, terminalden çıkarken scriptin çalışmaya devam etmesini sağlar. Arka planda çalıştırma işlemi için birkaç farklı yöntem bulunmaktadır. İşte en yaygın yöntemler:
Bu yöntemlerden biri veya birkaçı, Python scriptlerinizi Linux ortamında arka planda çalıştırmak için etkili bir yol sunar. Her yöntemin kendi avantajları ve dezavantajları vardır, bu nedenle kullanım amacınıza uygun olanı seçmek önemlidir.
- nohup Komutu:
nohup(no hang up) komutu, terminalden çıkıldığında bile çalışmaya devam etmesini sağlar. Kullanım şekli şöyle:
CODE12
nohup python script.py &
Bu komut,script.pyadlı Python dosyasını arka planda başlatır ve terminalden çıkıldığında bile çalışmaya devam eder. Çıktılarnohup.outdosyasına kaydedilir.
- & Operatörü:
Bir başka basit yöntem, scripti arka planda çalıştırmak için komutun sonuna&eklemektir:
CODE12
python script.py &
Bu yöntemle script, terminalden bağımsız olarak çalışır, ancak terminal kapatıldığında sonlanabilir.
- screen veya tmux Kullanımı:
screenvetmuxgibi terminal çoklayıcıları, oturumları yönetmek için idealdir. Bu araçlar, bir terminal oturumu açmanıza ve bu oturumu arka planda çalıştırmanıza olanak sağlar. Örneğin,screenile yeni bir oturum başlatmak için:
CODE123
screen -S mysession python script.py
ArdındanCtrl+AveDtuşlarına basarak oturumu arka plana alabilirsiniz. Oturuma tekrar erişmek için:
CODE12
screen -r mysession
- systemd Servisi:
Uzun süreli çalışan Python uygulamaları içinsystemdservisi oluşturmak, scriptlerinizi yönetmenin en iyi yollarından biridir. Servis dosyası genellikle/etc/systemd/system/dizinine kaydedilir. Aşağıda basit bir örnek verilmiştir:
CODE1234567891011
[Unit] Description=My Python Script [Service] ExecStart=/usr/bin/python /path/to/script.py WorkingDirectory=/path/to Restart=always [Install] WantedBy=multi-user.target
Bu dosyayımy_script.serviceolarak kaydettikten sonra, servisi etkinleştirmek için:
CODE123
sudo systemctl enable my_script.service sudo systemctl start my_script.service
Bu yöntemlerden biri veya birkaçı, Python scriptlerinizi Linux ortamında arka planda çalıştırmak için etkili bir yol sunar. Her yöntemin kendi avantajları ve dezavantajları vardır, bu nedenle kullanım amacınıza uygun olanı seçmek önemlidir.