服务文件内的 Shell 脚本无法执行 python 脚本

问题描述 投票:0回答:1

我创建了一个通用服务文件来启动我的 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 文件。 所有脚本都是可执行的。

python-3.x bash service systemd
1个回答
0
投票

如果您有两个需要运行的“应用程序服务程序”,您应该考虑使用两个服务(systemd 服务文件)来代替。

这样您就可以控制每个流程。

另外,您可能不应该抑制所有输出(包括 stdout 和 stderr),而是让 systemd 捕获它。

© www.soinside.com 2019 - 2024. All rights reserved.