我创建了一个服务,可以在启动时运行python脚本。
服务文件信息:
名称:robovacuum.service
位置:/lib/systemd/system/robovacuum.service
内容:
[Unit]
Description=Python script that listens for MQTT commands for the RoboRock Vacuum
After=multi-user.target
Conflicts=getty@tty1.service
[Service]
Type=simple
User=tovar
ExecStart=/usr/bin/python /home/tovar/mqttToPythonCommands.py
StandardInput=tty-force
[Install]
WantedBy=multi-user.target
Python脚本信息:
名称:mqttToPythonCommands.py
代码:
..
currCommand = 'mirobo --ip 192.168.1.100 --token tokenKeyHere start'
cmdResult = os.popen(currCommand).read()
if "Error:" not in cmdResult:
#command was successful do more stuff
else:
#there was an error
..
从终端运行python脚本时,cmdResult
返回如下内容:"Vacuum has started"
。
但是,当我将脚本作为服务运行时,cmdResult
返回空白,因此其余代码无法正确处理。有人可以让我知道我在这里做错了什么,还是作为服务运行时应该在什么地方使用?预先谢谢你。