запуск и уничтожение процесса evince в цикле

У меня есть определенные PDF-файлы. Я хочу осмотреть каждого из них в течение 20 секунд. То, как я пытался это сделать, похоже на следующее: for file in *.pdf; do echo $file; evince $file; sleep 20s; killall evince; done. Он отображает первый файл, но не убивает его после 20 секунд. Что здесь не так?

3
задан 6 November 2013 в 04:01

2 ответа

Я думаю, вы просто забыли запустить evince в фоновом режиме:

for file in *.pdf; do echo $file; evince $file &; sleep 20s; killall evince; done

Обратите внимание на & amp; после команды evince.

0
ответ дан 6 November 2013 в 04:01

Обратите внимание, что вам не нужно убивать все: вы можете убить конкретный экземпляр:

for file in *.pdf; do
    echo "$file"
    evince "$file" &
    sleep 20s
    kill $!           
done

$! - это pid самого последнего фонового процесса. ( http://www.gnu.org/software/bash/manual/bashref.html#Special-Parameters )

0
ответ дан 6 November 2013 в 04:01

Другие вопросы по тегам:

Похожие вопросы: