我有一個啓動時在後臺運行的python腳本。啓動方法是使用/etc/rc.local調用的run.sh文件中的一個條目。確切的條目是「sudo python /home/pi/run/main.py &」。該系統是一個有喘息的樹莓派。在關閉信號的Python腳本中運行代碼
腳本正在運行,至今沒有問題。如果關閉命令發送到系統(通過控制檯「sudo shutdown -h now」),我需要進一步腳本不立即中止,而是先執行一些代碼。這就是我到目前爲止:
#!/usr/bin/env python
import atexit
@atexit.register
def byebye():
c = "End"
datei = open("/home/pi/logfile",'a+b')
datei.write(c + "\n")
datei.close()
def main():
while True:
...do anything...
main()
現在,它似乎只是關閉關閉主循環。我是否需要使用不同的方式來關閉系統,以便將信號傳輸到我的腳本,或者我是否可能無法使用「@atexit」方法?有任何想法嗎?
由於
也許如果你看看molly-guard的含義 - http://packages.debian.org/sid/all/molly-guard/filelist - 這樣做,你會有更好的方法嗎? – nrathaus
感謝您的評論,但它似乎代碼是高於我的專業知識......甚至不知道如何開始......( – user3281341