Apa cara yang benar untuk menjalankan skrip python sebagai daemon (layanan) di raspbian (atau debian)?


9

Saya ingin menggunakan Pi saya sebagai termostat rumah, dengan loop kontrol berjalan dalam skrip python. Saya ingin menjalankannya sebagai daemon pada raspbian (debian) saat startup.

Ada contoh skrip bash di /etc/init.d/skeleton, tetapi tampaknya unpythonic untuk mem-mash bash dan python bersamaan. Ada modul python dan paket deb yang dapat membantu dengan pemrosesan perintah start / stop / alert:

Adakah yang berhasil dengan pendekatan tertentu untuk daemonisasi loop kontrol umpan balik "waktu nyata" pada Pi?

Jawaban:


6

Saya telah melakukan ini pada beberapa proyek. https://bitbucket.org/dnetman99/raspberrypiprojects jika Anda melihat gpsdpiTracker, trackerServer.pygunakan kelas daemon untuk daemonisasi skrip. Saya kemudian hanya menggunakan restartduntuk menonton jika berhenti dan me-restart itu, yang juga berarti akan memulai setelah boot juga. Saya juga telah menggunakan file kerangka untuk memulai, menghentikan daemon, tetapi tidak perlu jika Anda menggunakan metode ini.

restartd = sudo apt-get install restartd

Terima kasih! Contoh luar biasa. Akan melihat apakah saya dapat mendaur ulang beberapa kode itu. Kelas daemon berasal dari modul python-daemon berdasarkan PEP 3143 dan restartd ada di sini .
hobs

Sebenarnya sepertinya Anda menggulung kelas Daemon Anda sendiri. Bagus.
kompor

1
Kecuali untuk garis she-bang, kelas Demon di bitbucket dnetman99 identik dengan daemon sederhana Sander Marechal dari 2007. Kredit tempat kredit jatuh tempo. Lewat sini
RolfBly

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.