GNU/Linux >> Tutoriales Linux >  >> Linux

¿Verificar si el proceso está ejecutando Mac Os X y luego ejecutar el código?

Estoy creando un script que borra el caché de Google Chrome. Sin embargo, me gustaría verificar si Chrome está abierto y, de ser así, no ejecutar el código, pero si no lo está, ejecutará el código. Veo que el nombre del proceso es Google Chrome, pero el código no funciona.

Esto es lo que he hecho hasta ahora. ¿Qué estoy haciendo mal?

SERVICE='Google Chrome'

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

Cualquier ayuda sería apreciada 🙂

Respuesta aceptada:

Como menciona @StéphaneChazelas, puede usar pgrep – desde la página man:

El comando pgrep busca en la tabla de procesos en el sistema en ejecución e imprime los ID de proceso de todos los procesos que coinciden con los criterios dados en la línea de comando.

SERVICE='Google Chrome'

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

Linux
  1. ¿Código de salida predeterminado cuando finaliza el proceso?

  2. ¿Cambiar el entorno de un proceso en ejecución?

  3. ¿Comprobar el proceso si se está ejecutando lo mismo?

  4. Comprobar los servicios en ejecución en Linux

  5. ¿Cómo verificar si un proceso todavía se está ejecutando usando Python en Linux?

Cómo comprobar la versión de Java en Mac o Windows

Cómo enumerar los procesos en ejecución en Linux

Procesos corriendo

¿Cómo verificar si ssh-agent ya se está ejecutando en bash?

Alias ​​en subshell/proceso hijo

¿Determinar en qué grupo(s) se encuentra un proceso en ejecución?