使一个 Upstart 脚本查看另一个脚本的环境变量

使一个 Upstart 脚本查看另一个脚本的环境变量

我有一个由 Upstart 启动的服务器:

/etc/init/server.conf

description     "Server"  
start on runlevel [2345]  
stop on runlevel [!2345]  

respawn
exec /opt/myserver/runmyserver.sh

为了正常运行,它需要另一个操作系统服务,因此它也通过 upstart 启动:

/etc/init/screen.conf

description     "Screen"  
start on runlevel [2345]  
stop on runlevel [016]  
respawn

export DISPLAY=:1
exec /usr/bin/Xvfb $DISPLAY

问题是,我的服务器在运行时看不到 DISPLAY var,除非我通过将 server.conf 的启动节替换为

start on started screen

我知道 Upstart 是基于事件的并行初始化系统,并且不保证顺序,但我不关心哪一个先启动,或者它们是否一起启动,只要它们共享相同的环境(变量)。

这里事情复杂化的事实是,server.conf 实际上不属于我,而且我不想修改它,除非必须。

有没有办法让 DISPLAY var 对在 server.conf 中启动的服务器可见,而无需修改它?

谢谢

相关内容