【发布时间】:2015-11-22 12:24:09
【问题描述】:
我想将 python 脚本作为服务运行。为此,我遵循了here 的指示。
对于初始化脚本(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 start”时。 它成功启动。
当我发送 udp 数据时,“output.txt”没有任何反应。这里有什么问题?
【问题讨论】:
-
18736 端口是否在监听?
-
[1] 此脚本在手动启动时是否按预期工作? [2] 尝试将输出文件更改为具有完整路径,到众所周知的目录,例如
/tmp/output.txt。 -
@hariK 是的,它在 18736 收听
-
@Ron Klein 当我手动启动时它可以工作
标签: python raspberry-pi