vlcを再起動するためにcron経由で実行するbashスクリプトがあります(私はベビーモニターとして使用するIPウェブカメラからストリームを表示するためにvlcを使用します)。ストリームが徐々に遅れてくるので、私はこのスクリプトを実行してvlcのすべてのインスタンスを強制終了し、再起動します)。このスクリプトは、Ubuntu 11.04で1年間正常に動作しました。私はUbuntu 11.10(ああ、ばかげた)にアップグレードし、現在はbashデバッグオプションをオンにして(bash -x script.sh)実行すると正しく動作します。 -xオプションを指定せずに実行すると、スクリプトはvlcのすべてのインスタンスを強制終了しますが、終了してvlc.cを再起動できません。理由はわかりません。私がそれを実行するか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