Eu acho que apenas testaria para ver se o arquivo existe, se ele for exibido. Você deve ser capaz de testar a existência de arquivos com bastante facilidade do PHP. Você também pode fazer isso a partir do shell (provavelmente Bash ou Bourne Shell) quando executar a função exec()
.
exec('[ -f somefile.png ] && ./zopflipng -y somefile.png somefile.png');
Matando o exec
Para abordar seu outro aspecto da sua pergunta. Se você está perguntando o que acontece quando você usa kill
um ou ambos exec
através de uma das iterações do loop for
em seu programa PHP, então a resposta seria que seu for
loop deveria solider e continuar com a próxima iteração sem problemas.
Os exec
são processos separados do seu script PHP, portanto, a menos que você os execute e faça algo com os códigos de status que eles retornam, o chamador não deve ser o mais sábio que eles terminaram ou foram mortos.