Linux'ta Python Uygulamasını systemd Servisi Olarak Çalıştırma

0 Yanıt 1 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Linux'ta Python Uygulamasını systemd Servisi Olarak Çalıştırma

Linux sistemlerde Python tabanlı uygulamaları otomatik olarak başlatmak ve yönetmek için systemd servisleri kullanılabilir. Bu yöntem, özellikle uzun süre çalışan veya sistem açılışında otomatik başlaması gereken uygulamalar için pratik ve güvenilir bir çözümdür.

İlk adım olarak, Python uygulamanızın tam yolunu belirlemek ve çalıştırılabilir hale getirmek önemlidir. Örneğin, /home/kullanici/proje/uygulama.py yolunda bir scriptiniz olduğunu varsayalım. Bu durumda, Python yorumlayıcısının yolu ve script yolu net olmalı.

İkinci aşamada, systemd servis dosyası oluşturmanız gerekir. Bu dosya genellikle /etc/systemd/system/ dizininde bulunur ve .service uzantısı taşır. Bu dosyada, uygulamanızın çalıştırılma parametreleri ve sistemdeki davranışları belirlenir.

Örnek bir servis dosyası şu şekildedir:

KOD
123456789101112131415
[Unit]
Description=Python Uygulaması
After=network.target

[Service]
ExecStart=/usr/bin/python3 /home/kullanici/proje/uygulama.py
WorkingDirectory=/home/kullanici/proje
StandardOutput=journal
StandardError=journal
Restart=on-failure
User=kullanici

[Install]
WantedBy=multi-user.target


Bu yapılandırmada dikkat edilmesi gereken noktalar şunlardır:
  • ExecStart satırında Python yorumlayıcısının ve scriptin tam yolu kesinlikle doğru olmalı.
  • User parametresi ile servisin çalışacağı kullanıcı belirtilmeli.
  • Restart=on-failure ile uygulama hata aldığında otomatik yeniden başlaması sağlanır.
  • After=network.target ile ağ hizmetleri başladıktan sonra çalışması sağlanır.


Servis dosyasını kaydettikten sonra, aşağıdaki komutlar ile servisi etkinleştirebilir ve başlatabilirsiniz:

KOD
1234
sudo systemctl daemon-reload
sudo systemctl enable uygulama.service
sudo systemctl start uygulama.service


Bu sayede, sistem açılışında otomatik olarak devreye girer ve gerekirse systemctl komutlarıyla durdurulup başlatılabilir. Sistem yönetimi ve hata ayıklama için journalctl -u uygulama.service komutu kullanışlıdır.

Son olarak, Python uygulamanızın sürekli çalışmasını sağlamak ve güvenilirliği artırmak adına, loglama ve hata yönetimine dikkat etmek, uygun izinleri ayarlamak ve gerekirse ortam değişkenlerini konfigüre etmek önemlidir. Bu yöntemle Linux sisteminizde Python tabanlı uygulamaları sistem servisleriyle entegre biçimde yönetebilirsiniz.

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 3, Üyeler: 3, Misafirler: 0)
Toplam: 3 (üyeler: 3, misafirler: 0)
0 alıntı seçildi