Kill processo executado por outro programa, mas nenhuma outra instância desse programa

0

Eu escrevi um pequeno script de shell que inicia uma instância do mplayer para um plano de fundo de vídeo no i3; Arco. Agora, quero matar esse processo a cada 15 segundos e iniciá-lo novamente. Mas, como esse histórico será executado o tempo todo, matar pelo nome levaria a "iCantUseMplayerAnymorePlzHelp" Então, como posso matar apenas esse processo?

Para o bg eu executo o seguinte:

mplayer -loop 0 -rootwin -ao null -noconsolecontrols -fs VIDEOPATH
    
por Reisbrot 17.03.2018 / 10:20

1 resposta

2

Se você quiser iniciar o mplayer, mate-o após 15 segundos e repita até que o script seja morto, você pode fazer algo assim:

#!/bin/sh

while true; do
  ## launch mplayer in the background
  mplayer -loop 0 -rootwin -ao null -noconsolecontrols -fs VIDEOPATH &
  ## wait for 15 seconds
  sleep 15
  ## kill the 1st backgrounded job of this subshell
  kill %1
done
    
por 17.03.2018 / 13:38