我希望这不是一个重复的问题。 Systemd真的很难搜索......
我有一个类似于
的systemd文件[Unit]
Description=My Daemon
[Service]
User=root
Type=simple
PIDFile=/var/run/app.pid
ExecStart=/usr/bin/python /opt/app/app.pyc
Restart=always
[Install]
WantedBy=multi-user.target
我希望ExecStart运行/ usr / bin / python /opt/app/app.pyc(如果存在)并运行/ usr / bin / python /opt/app/app.py(如果不存在)。
目标是在已部署的系统上不会有py文件只有pyc,但在开发系统上我们可能只有py文件。我怎样才能让它发挥作用?
答案 0 :(得分:2)
创建一个小的bash脚本,它可以执行您想要的操作,然后将该脚本放在ExecStart
行上。
#!/bin/bash
if [ -f /opt/app/app.pyc ];
then
exec /opt/app/app.pyc
else
exec /opt/app/app.py
fi