Linux/Unix Shell Scripting - Ejecutar ps -ef | grep java en script y lanzar comando

 
Vista:
sin imagen de perfil

Ejecutar ps -ef | grep java en script y lanzar comando

Publicado por jose antonio (1 intervención) el 19/01/2023 14:56:11
Buenos días,

Soy nuevo en esto y aunque he leído en foro e intentado solucionarlo no me sale. En realidad lo que quiero saber es si Java está parado o no. Si lo está levantarlo.

Os dejo el código que quiero lanzar:

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
 
# Comprueba si hay instancia de JAVA corriendo
ps -ef |grep java
 
if [ $? -eq 0 ]; then
echo "Se está ejecutando JMS."
else
echo "No se está ejecutando JMS."
/server/startMethodServer.sh #lanzo el start
fi

Pues al ejecutarlo si que hace el grep pero siempre recoge valor 0. Esté java arrancado o no.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejecutar ps -ef | grep java en script y lanzar comando

Publicado por Tom (361 intervenciones) el 19/01/2023 15:10:10
Tal como lo haces siempre hay, al menos, un proceso que contiene "java", el "grep java".
Puedes usar pgrep
1
2
3
4
5
6
if pgrep -c java
then
  echo "YES (Running)"
else
  echo "NO"
fi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejecutar ps -ef | grep java en script y lanzar comando

Publicado por jose antonio (1 intervención) el 20/01/2023 08:57:58
Muchas gracias. Perfecto. Desconocía ese comando. Solucionado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar