Jua*_*món 7 upstart environment-variables
我已经transmission-daemon为几个用户编写了几个新贵脚本来启动。脚本是这样的:
start on (local-filesystems and net-device-up IFACE=eth0 and runlevel [235])
stop on runlevel [016]
kill timeout 50
respawn
env USER=user
env PIDFILE=/var/run/transmission-user.pid
script
DAEMON=$(which transmission-daemon) || exit 0
CONFIGDIR=/home/$USER/.config/transmission-daemon
exec start-stop-daemon --start --quiet --chuid $USER --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- -f --config-dir $CONFIGDIR --logfile $CONFIGDIR/daemon.log
end script
post-stop exec rm -f $PIDFILE
Run Code Online (Sandbox Code Playgroud)
我会转换这个:
env USER=user
env PIDFILE=/var/run/transmission-user.pid
Run Code Online (Sandbox Code Playgroud)
对此:
env USER=user
env PIDFILE=/var/run/transmission-$USER.pid
Run Code Online (Sandbox Code Playgroud)
但暴发户不允许。如果我将这些行移到脚本部分,我可以做到:
script
USER=user
PIDFILE=/var/run/transmission-$USER.pid
...
end script
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,停止后部分中的 PIDFILE 是空的。
有没有办法做到这一点?
Spa*_*apS 10
这是 upstart 中一个相当老的错误:
https://bugs.launchpad.net/upstart/+bug/328366
要在 post-stop 和 script 中获取变量......你只需要设置它两次来解决这个错误。
| 归档时间: |
|
| 查看次数: |
9308 次 |
| 最近记录: |