วิธีที่ถูกต้องในการรันสคริปต์ python ในฐานะ daemon (บริการ) ใน raspbian (หรือ debian) คืออะไร


9

ฉันต้องการใช้ Pi ของฉันเป็นเครื่องมือควบคุมอุณหภูมิภายในบ้านโดยมีลูปควบคุมทำงานในสคริปต์ไพ ธ อน ฉันต้องการเรียกใช้เป็น daemon บน raspbian (debian) เมื่อเริ่มต้น

มีตัวอย่างของสคริปต์ทุบตีใน /etc/init.d/skeleton แต่ดูเหมือนว่าไม่มีจังหวะที่จะทุบตีทุบตีและงูหลามด้วยกัน มีโมดูลหลามและแพ็คเกจ deb ที่สามารถช่วยในการประมวลผลคำสั่ง start / stop / alert:

มีใครประสบความสำเร็จกับวิธีการเฉพาะสำหรับ daemonizing ลูปควบคุมแบบเรียลไทม์บน Pi?

คำตอบ:


6

ฉันทำสิ่งนี้ในหลายโครงการ https://bitbucket.org/dnetman99/raspberrypiprojectsหากคุณดู gpsdpiTracker การtrackerServer.pyใช้คลาส daemon เพื่อ daemonize สคริปต์ ฉันแค่ใช้restartdเพื่อดูว่ามันหยุดและเริ่มใหม่ซึ่งหมายความว่ามันจะเริ่มมันหลังจากบูตด้วย ฉันยังใช้แฟ้ม Skeleton สำหรับเริ่มต้นหยุด daemon แต่ไม่จำเป็นถ้าคุณใช้วิธีนี้

restartd = sudo apt-get install restartd

ขอบคุณ! ตัวอย่างที่ดีเลิศ จะดูว่าฉันสามารถรีไซเคิลรหัสบางส่วนได้หรือไม่ ชั้นภูตจากหลามภูตโมดูลขึ้นอยู่กับPEP 3143และ restartd เป็นที่นี่
เตาแก๊ส

ดูเหมือนว่าคุณจะได้คลาส Daemon ของคุณเองจริงๆ ดี
เตาแก๊ส

1
ยกเว้นสาย she-bang คลาส Demon ใน bitbucket ของ dnetman99 นั้นเหมือนกับdaemon ง่าย ๆ ของ Sander Marechalตั้งแต่ปี 2007 เครดิตที่ถึงกำหนดชำระ ผ่านที่นี่
RolfBly

2

ดูวิธีที่เราใช้ในไคลเอนต์ pybit-client

https://github.com/nicholasdavidson/pybit

ที่ถูกออกแบบมาให้ทำงานเป็นดีมอนบนกล่อง ARM ขนาดเล็ก 24/7

รองรับการบันทึกการจัดการสัญญาณการเริ่ม / หยุดสคริปต์ ฯลฯ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.