我创建了一个通用服务文件来启动我的 python 应用程序。
.
..
Environment=/home/pi/testApp
ExecStart=/home/pi/testApp/phase1/main.py
启动服务即可。
我创建了一个 shell 脚本,它会触发两个 python 脚本,当我执行该脚本时,这两个脚本会在后台运行。
app.sh
。它有效。
/home/pi/testApp/phase1/main.py > /dev/null 2>&1 &
/home/pi/testApp/phase2/main.py > /dev/null 2>&1 &
我更改了服务来执行 shell 脚本,但失败了。 我没有收到任何错误。 我注释掉了第二行并删除了到 dev null 的重定向,只在脚本中留下
/home/pi/testApp/phase1/main.py
。 启动服务即可。 但是当我启动服务时,如何让服务执行这两个 python 文件。
所有脚本都是可执行的。
如果您有两个需要运行的“应用程序服务程序”,您应该考虑使用两个服务(systemd 服务文件)来代替。
这样您就可以控制每个流程。
另外,您可能不应该抑制所有输出(包括 stdout 和 stderr),而是让 systemd 捕获它。