Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在supervisord脚本中运行命令时未设置环境变量_Linux_Environment Variables_Supervisord - Fatal编程技术网

Linux 在supervisord脚本中运行命令时未设置环境变量

Linux 在supervisord脚本中运行命令时未设置环境变量,linux,environment-variables,supervisord,Linux,Environment Variables,Supervisord,我的最终目标是让脚本始终处于运行状态,每分钟检查一个程序(chromium)是否正在运行,如果没有运行,则启动它。 我正在使用supervisord通过在配置中进行设置来实现这一点 ... [program:checkproc] command=/home/pi/scripts/check-proc.sh autostart=true autorestart=true environment=DISPLAY=":0" user=root

我的最终目标是让脚本始终处于运行状态,每分钟检查一个程序(chromium)是否正在运行,如果没有运行,则启动它。 我正在使用supervisord通过在配置中进行设置来实现这一点

...
[program:checkproc]
command=/home/pi/scripts/check-proc.sh
autostart=true                
autorestart=true              
environment=DISPLAY=":0"
user=root
要启动的脚本是

#!/bin/bash
while true; do
sleep 60
if pgrep "chromium" > /dev/null
then
    #nothing
    echo "chromium running"
else
    export DISPLAY=:0
    source chromium --noerrdialogs --kiosk http://www.example.com --incognito
fi
done
我遇到的问题是,在启动Chrome时,它失败了,因为没有选择显示,也就是说,我想显示变量没有设置。正如您所看到的,我在配置中正确地设置了它(并且只是在命令之前在脚本中尝试)


我遗漏了什么?

我想你应该用一个点来替换“源”

(注意点和命令之间的间距)


添加该点称为“寻源”(因此可能是错误的?)。它将您的环境变量导出到您正在启动的子流程。

已经尝试过,但没有成功。无论如何,对于bashshell,“source”应该等同于“.”。
. chromium --noerrdialogs --kiosk http://www.example.com --incognito