У меня есть эта команда:AWK - как завершить эту команду через 60 секунд?
awk 'BEGIN {system ("mplayer mms :// xx.xx.xx -dumpstream -dumpfile xxx.wmv")}'
Как закончить эту команду через 60 секунд?
У меня есть эта команда:AWK - как завершить эту команду через 60 секунд?
awk 'BEGIN {system ("mplayer mms :// xx.xx.xx -dumpstream -dumpfile xxx.wmv")}'
Как закончить эту команду через 60 секунд?
Вы можете получить pid подпроцесса bash, запросив $!
. Сохраните значение awk-процесса, сон в течение 60 секунд и уничтожьте awk-процесс.
awk 'BEGIN {system ("mplayer mms :// xx.xx.xx -dumpstream -dumpfile xxx.wmv")}' &
pid=$!
sleep 60
kill $pid
Это требует, чтобы запустить процесс AWK как фоновый процесс &
так, что родительский контроль продолжается.
Пятно на! Вы избили меня до этого ... – Alex
Спасибо за ваш ответ. Но как закончить через 60 секунд, чтобы скачать файл mplayer? – Tedee12345
Если вы хотите завершить 60 секунд после завершения команды, оставьте поле '&'. Таким образом, спящий режим не будет выполняться до завершения команды. – cmh
Возможный дубликат [Тайм-аут команды в bash без лишней задержки] (http://stackoverflow.com/questions/687948/timeout-a-command-in-bash-without-unnecessary-delay) – miku
Почему вы работаете что в команде AWK 'system' вместо прямого? Является ли это частью большого AWK-скрипта? –
'miku' Спасибо за ссылку. 'Деннис Уильямсон' Да. Это будет частью большого скрипта awk. – Tedee12345