Pertanyaan – Bagaimana cara menjalankan skrip Python secara otomatis menggunakan systemd. Cara membuat layanan systemd sendiri menggunakan skrip Python. Cara mengkonfigurasi skrip Python untuk memulai sebagai systemd. Bagaimana cara mengelola layanan Python dengan systemctl?
Gunakan tutorial ini untuk menjalankan skrip Python Anda sebagai layanan sistem di bawah systemd. Anda dapat dengan mudah memulai, menghentikan, atau memulai ulang skrip Anda menggunakan perintah systemctl. Ini juga akan memungkinkan untuk menjalankan skrip Python secara otomatis pada startup sistem.
Langkah 1 – Aplikasi Python Dummy
Pertama-tama, saya telah menggunakan skrip Python dummy yang mendengarkan pada port tertentu. Edit file Python sebagai berikut
sudo vi /usr/bin/dummy_service.py
dan tambahkan konten berikut untuk dummy, Anda dapat menggunakan skrip Python Anda sendiri sesuai kebutuhan.
Python123456789101112 | #!/usr/bin/python3 import sockets =socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind(("localhost", 9988))s.listen(1) while Benar:samb, addr =s.accept() data =conn.recv(1024) conn.close() my_function_that_handles_data(data) |
Langkah 2 – Buat File Layanan
Sekarang, buat file layanan untuk systemd sebagai berikut. File harus memiliki .service ekstensi di bawah /lib/systemd/system/ direktori
sudo vi /lib/systemd/system/dummy.service
dan tambahkan konten berikut di dalamnya. Ubah lokasi iklan nama file skrip Python. Perbarui juga Deskripsi.
[Unit] Description=Dummy Service After=multi-user.target [email protected] [Service] Type=simple ExecStart=/usr/bin/python3 /usr/bin/dummy_service.py StandardInput=tty-force [Install] WantedBy=multi-user.target
Langkah 3 – Aktifkan Layanan yang Baru Ditambahkan
Layanan sistem Anda telah ditambahkan ke layanan Anda. Mari muat ulang daemon systemctl untuk membaca file baru. Anda perlu memuat ulang deamon ini setiap kali setelah membuat perubahan apa pun di file .service.
sudo systemctl daemon-reload
Sekarang aktifkan layanan untuk memulai pada boot sistem, juga mulai layanan menggunakan perintah berikut.
sudo systemctl enable dummy.service sudo systemctl start dummy.service
Langkah 4 – Mulai/Mulai/Status Layanan baru
Terakhir periksa status layanan Anda sebagai perintah berikut.
sudo systemctl status dummy.service
Gunakan perintah di bawah ini untuk menghentikan, memulai, dan memulai ulang manual layanan Anda.
sudo systemctl stop dummy.service #To stop running service sudo systemctl start dummy.service #To start running service sudo systemctl restart dummy.service #To restart running service