Verifique se o processo está executando o Mac OS X e execute o código

0

Estou criando um script que limpa o cache do Google Chrome. No entanto, gostaria de verificar se o Chrome está aberto e, se não for, executar o código, mas se não estiver, ele executará o código. Posso ver que o nome do processo é o Google Chrome, mas o código não funciona.

Isso é o que eu fiz até agora. O que estou fazendo errado?

SERVICE='Google Chrome'

if ps ax | grep -v grep | grep $SERVICE
then
    RUNS THE CODE
else
    echo "PLEASE CLOSE GOOGLE CHROME"
fi

Qualquer ajuda seria apreciada:)

    
por Ryan Hawdon 27.08.2015 / 15:46

2 respostas

1

Como @ StéphaneChazelas menciona, você pode usar pgrep - da página man:

The pgrep command searches the process table on the running system and prints the process IDs of all processes that match the criteria given on the command line.

SERVICE='Google Chrome'

if pgrep -xq -- "${SERVICE}"; then
    echo running
else
    echo not running
fi
    
por 27.08.2015 / 18:25
0

Você precisa citar "$ SERVICE":

SERVICE='Google Chrome'

if ps ax | grep -v grep | grep "${SERVICE}" &> /dev/null; then
    echo running
else
    echo not running
fi
    
por 27.08.2015 / 16:10