Вопрос Отображать изображения в цикле с использованием bash


Я пытаюсь отображать изображения один за другим автоматически, используя bash. Однако, если я использую такую ​​команду. Он не закрывает последнее изображение перед открытием следующего.

while read p; 
    do eog $p; 
    sleep 2; 
done < filelist.txt

Кто-нибудь знает, как это сделать?


3
2018-06-03 07:50


происхождения




ответы:


Просто получите PID из eog процесс и убить его до следующего:

while read p; 
    do eog $p &;
    EOG_PID=$!
    sleep 2;
    kill "$EOG_PID"
done < filelist.txt

2
2018-06-03 07:57



Возможно ли автоматизировать этот идентификатор процесса? - mcExchange
Да, мы могли бы pgrep eog или просто killall eog но этот метод (начало в фоновом режиме, получение pid с $!) позволяет нам только убить eog мы хотим - автоматически. - UniversallyUniqueID
Ах хорошо. Понимаю. Да, похоже, это работает, спасибо, хотя это немного медленнее, но я думаю, что это просто не идеальный способ отображения изображений :). Спасибо, в любом случае - mcExchange
@mcExchange Если все изображения находятся в одном каталоге, вы можете использовать eogвстроенное слайд-шоу. - UniversallyUniqueID