[英]Run Python script in the background as a service
我想將python腳本作為服務運行。 為此,我按照這里的指示進行。
對於初始化腳本(myservice.sh),我照原樣復制了。
對於myservice.py,
import sys, struct
from socket import *
SIZE = 1024 # packet size
hostName = gethostbyname('0.0.0.0')
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind((hostName,18736))
repeat = True
while repeat:
(data,addr) = mySocket.recvfrom(SIZE)
data = struct.unpack('d',data)
data=int(data[0])
file = open("output.txt", "w")
file.write(str(data))
file.close()
當我啟動服務“ sudo /etc/init.d/myservice.sh啟動”時。 它成功啟動。
當我發送udp數據時,“ output.txt”沒有任何反應。 這里有什么問題?
此過程正式稱為守護Python腳本。
我將假設您的初始化腳本和代碼都正常工作,這可能是一個問題。
但是,除此問題外,在守護Python腳本時使用logger類。 嘗試以一種粗略的方式自己為后台進程實現日志記錄存在太多問題。
這與您提供的示例鏈接相同,請查看以下原因: 在Python守護進程中維護日志記錄和/或stdout / stderr
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.