我有一個bash腳本,我通過cron運行重新啓動vlc(我使用vlc顯示來自IP攝像頭的流作爲嬰兒監視器使用 - 流得到逐步延遲,所以我運行這個腳本來殺死vlc的所有實例並重新啓動它)。這個腳本在Ubuntu 11.04中運行良好一年。我升級到Ubuntu 11.10(哦,傻我),現在只有在打開bash調試選項(bash -x script.sh)的情況下運行它才能正常工作。如果我運行它沒有-x選項,腳本成功殺死了vlc的所有實例,但是然後退出並且無法重啓vlc.I我不知道爲什麼。請注意,如果我通過或cron運行它,或者直接在命令行上運行它,沒有-x選項,那麼它會殺死vlc但從不運行vlc。Bash腳本在調試時運行(-x)但運行正常時失敗
這就是:
#!/bin/bash
DISPLAY=:0
export DISPLAY
VPID=($(ps -e | grep vlc | awk '{print $1;}'))
if [ -n "$VPID" ];then
while [ -n "$VPID" ];do
kill $VPID
VPID=($(ps -e | grep vlc | awk '{print $1;}'))
done
vlc --volume=900 http://lily:@192.168.1.43/videostream.asf &
sleep 10
WID=($(xwininfo -display :0 -name "http://192.168.1.43/videostream.asf - VLC media player" -int | awk '/Window id:/ {print $4}'))
sleep 10
xdotool windowmove --sync $WID 0 0
xdotool windowsize --sync $WID 1600 1000
exit
fi
exit
'pkill的vlc'比你目前的殺害所有VLC工藝方法簡單得多。 –
謝謝,我會給它一個 - 我總是傾向於使用錘子來破解一個堅果;) – prupert