Estoy escribiendo un script que detecta si existe alguna instancia del mismo ya en ejecución y muestra por pantalla
el número de instancias.
El contenido del script detect_itself.sh es :
#!/bin/sh
INSTANCES_NUMBER=`ps -ef | grep detect_itself.sh | grep -v -i grep | wc -l`
echo "Number of detect_itself.sh instances running now =" $INSTANCES_NUMBER
echo "Second method:"
ps -ef | grep detect_itself.sh | grep -v -i grep | wc -l
echo "Third method:"
echo `ps -ef | grep detect_itself.sh | grep -v -i grep | wc -l`
echo "Please, press a key"
read -r key
Al ejecutar el script muestra por pantalla:
Number of detect_itself.sh instances running now = 2
Second method:
1
Third method:
2
Please, press a key
Yo esperaba que mostrase:
Number of detect_itself.sh instances running now = 1
Second method:
1
Third method:
1
Please, press a key
No entiendo porque si ejecuto ps -ef | grep detect_itself.sh | grep -v -i grep | wc -l devuelve el valor 1, pero si pero si guardo este valor en una variable y lo muestro con echo muestra 2.
Script que cuenta el número de instancias en ejecución no funciona.
Re: Script que cuenta el número de instancias en ejecución no funciona.
Porque una de las instancias es "grep detect_itself.sh" (wc -l cuenta las líneas de texto en los procesos existentes que contienen el valor buscado).
En este enlace armé un script con la misma idea, y para saber si hay una instancia, pregunto si el número es mayor que 2.
tema53589.html
En este enlace armé un script con la misma idea, y para saber si hay una instancia, pregunto si el número es mayor que 2.
tema53589.html
-
- Temas similares
- Respuestas
- Vistas
- Último mensaje
-
- 2 Respuestas
- 577 Vistas
-
Último mensaje por fabian87
-
- 0 Respuestas
- 821 Vistas
-
Último mensaje por aspana4661
-
- 2 Respuestas
- 940 Vistas
-
Último mensaje por joelalvarezs
-
- 1 Respuestas
- 842 Vistas
-
Último mensaje por neurus
-
- 1 Respuestas
- 556 Vistas
-
Último mensaje por Hawkingsagan