我有一个bash脚本,其中包含很多背景进程。
最后我有以下背景命令
export DISPLAY=:0.0 && xterm -T "PQXYMNLHARE" -hold -e "sh /home/simha/.public_html/openmpv.sh \"000-${today}-${filename}\"" &
或
sh /home/simha/.public_html/openmpv.sh "000-${today}-${filename}" &
注意:今天和文件名在脚本中定义
根本没用。令人惊讶的是,我在同一个脚本中多次调用同一个命令,然后打开xterm。但是这条终点线没有打开。
经过数小时的努力后,我才尝试了export DISPLAY=:0.0 && xterm -T "PQXYMNLHARE" -hold -e "sh /home/simha/.public_html/openmpv.sh \"000-${today}-${filename}\"" &
sleep 10
或者
export DISPLAY=:0.0 && xterm -T "PQXYMNLHARE" -hold -e "sh /home/simha/.public_html/openmpv.sh \"000-${today}-${filename}\"" &
wgetpid5=$!
while true
do
if kill -0 "$wgetpid5"
then
echo "working"
else
echo "closed"
break;
fi
done
或者
export DISPLAY=:0.0 && xterm -T "PQXYMNLHARE" -hold -e "sh /home/simha/.public_html/openmpv.sh \"000-${today}-${filename}\"" &
wgetpid5=$!
if kill -0 "$wgetpid5"
then
sleep 1;
else
echo "jalsdjlkj"
fi
然后xterm打开并执行脚本。
其中:
export DISPLAY=:0.0 && xterm -T "PQXYMNLHARE" -hold -e "sh /home/simha/.public_html/openmpv.sh \"000-${today}-${filename}\"" &
echo "textttt"
OR
export DISPLAY=:0.0 && xterm -T "PQXYMNLHARE" -hold -e "sh /home/simha/.public_html/openmpv.sh \"000-${today}-${filename}\"" &
wgetpid5=$!
if kill -0 "$wgetpid5"
then
echo "worked" #Note replace sleep with echo
else
echo "jalsdjlkj"
fi
或直接命令而不是xterm
sh /home/simha/.public_html/openmpv.sh "000-${today}-${filename}" &
以上都没有工作
问题是什么。我很无能。
只有睡眠或while循环才能使命令正常工作。