GNU/Linux >> Linux Esercitazione >  >> Linux

Verifica se il processo esegue Mac Os X, quindi esegui il codice?

Sto creando uno script che svuota la cache per Google Chrome. Tuttavia, vorrei verificare se Chrome è aperto e, in tal caso, non eseguire il codice, ma in caso contrario eseguirà il codice. Vedo che il nome del processo è Google Chrome ma il codice non funziona.

Questo è quello che ho fatto finora. Cosa sbaglio?

SERVICE='Google Chrome'

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

Qualsiasi aiuto sarebbe apprezzato 🙂

Risposta accettata:

Come menziona @StéphaneChazelas, puoi usare pgrep – dalla pagina man:

Il comando pgrep ricerca la tabella dei processi sul sistema in esecuzione e stampa gli ID processo di tutti i processi che corrispondono ai criteri forniti sulla riga di comando.

SERVICE='Google Chrome'

if pgrep -xq -- "${SERVICE}"; then
    echo running
else
    echo not running
fi

Linux
  1. Codice di uscita predefinito al termine del processo?

  2. Verificare il processo se lo stesso è in esecuzione?

  3. Cron Job per verificare se lo script PHP è in esecuzione, in caso contrario eseguito?

  4. Controlla i servizi in esecuzione su Linux

  5. Come verificare se un particolare servizio è in esecuzione su Ubuntu

Come controllare la versione Java su Mac o Windows

Come elencare i processi in esecuzione in Linux

Processi in esecuzione

Come verificare se un processo è ancora in esecuzione utilizzando Python su Linux?

Linux Script per verificare se il processo è in esecuzione e agire sul risultato

Plugin Nagios generico per verificare se un processo/servizio specifico è in esecuzione?