[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: duda sencilla de bash



On Fri, Feb 17, 2006 at 09:39:21AM +0100, Mariano Cediel wrote:
> Para saber en un bash-scipt si un procesoA está levantado ...
> algo así como ....
> 
> esta=$(ps ax |grep procesoA | grep -v grep)
> 
> if $esta; then
>     echo "levantado"
> else
>     echo "apagado"
> fi
> 
> Sé que no es así, que esto no funciona, pero no me aclaro con el
> condicional del if ...

Olá.

  Para esto utlizo `pidof', aqui te pongo un script que espero te
ayude:


  #!/bin/bash

  # controla que exista argumento
  # si no es asi, devuelve '1' en la salida
  if [ -x $1 ] ; then
      echo "Uso: `basename $0` PROCESO"
      exit 1
  fi

  # busca el/los procesos '$1' que se están ejecutando
  # y los almacena en IDPROCESO
  IDPROCESO=$(pidof $1)


  # el '-n' es para saber si el valor de $IDPROCESO
  # es no nulo. Es decir, si está vacio es falso, si
  # contiene algún valor es verdadero
  if [ -n "$IDPROCESO" ] ; then
      echo "$IDPROCESO"
  else
      echo "El proceso '$1' no se está ejecutando"
  fi

  exit 0


> 
> Gracias anticipadas.

  Nada.

Xau!

-- 
Porqué loitar e matar, se podes amar e sonhar

/"\
\ /  CAMPANHA DA FITA ASCII - CONTRA MAIL HTML
 X   ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \



Reply to: