Você precisa de uma condição para verificar se o arquivo existe e, se não quiser ver erros ao tentar kill
um PID que não existe mais, redirecione seu stderr
para /dev/null
. Você vai acabar com algo como:
PID_EXISTS=$([[ -f "$pid_file" ]] && kill -0 $(<"$pid_file") 2> /dev/null && echo 1 || echo 0)
Isso armazenará 1
para um pid existente e 0
para um não existente. Você pode usar a variável em uma comparação, como:
if [[ $PID_EXISTS -eq 1 ]]; then echo FOUND; else echo NOTFOUND; fi
Ou apenas imprima seu resultado:
echo $PID_EXISTS
Não há cat
. Miau!