Acho que você acabou de esquecer de executar o evince em segundo plano:
for file in *.pdf; do echo $file; evince $file &; sleep 20s; killall evince; done
Observe o & amp; após o comando evince.
Eu tenho certos arquivos PDF. Eu quero inspecionar cada um deles por 20 segundos. A maneira que eu estava tentando fazer isso é como seguir: for file in *.pdf; do echo $file; evince $file; sleep 20s; killall evince; done
. Ele exibe o primeiro arquivo, mas não o mata depois dos 20 anos. o que há de errado aqui?
Acho que você acabou de esquecer de executar o evince em segundo plano:
for file in *.pdf; do echo $file; evince $file &; sleep 20s; killall evince; done
Observe o & amp; após o comando evince.
Note que você não precisa matar todos: você pode matar a instância específica:
for file in *.pdf; do
echo "$file"
evince "$file" &
sleep 20s
kill $!
done
$!
é o pid do processo de segundo plano mais recente. ( link )