while true ; do mplayer -vo xv "03446"* || exit 1; done. РАБОТАЕТ!
команд много. А если
[console]while mplayer -vo xv "03446"*; do :; done.[/console]
?
while true ; do mplayer -vo xv "03446"* || exit 1; done. РАБОТАЕТ!
команд много. А если
[console]while mplayer -vo xv "03446"*; do :; done.[/console]
?
вот только причём тут сабж?
В сабже надо было-бы делать как-то так:
#!/bin/bash
cat >async2.sh <<EOT
#!/bin/bash
function usr1_f
{
echo "\$0[\$\$]: получен сигнал SIGUSR1"
}
trap 'usr1_f' SIGUSR1
MY_PID=\$\$
echo "\$0 started, my PID: \$MY_PID"
while true; do
sleep 1
echo "\$0 runing..."
done
exit
EOT
chmod +x async2.sh
./async2.sh &
ASYNC2_PID=$!
echo "$0: my PID: $$, ASYNC2_PID: $ASYNC2_PID"
sleep 3
kill -s SIGUSR1 $ASYNC2_PID
sleep 3
kill $ASYNC2_PID
тут работают одновременно 2 сценария:
async.sh
и
async2.sh
Первый запускает второй, и через 3 сек. передаёт второму сигнал SIGUSR1. Затем, ещё через 3 сек, первый убивает второй сценарий, и сам заканчивает работу.