On Mon, 25 Aug 2014 11:11:54 -0400, Servilio Afre Puentes wrote:
On Fri, Aug 22 2014, Hugo Florentino wrote:

Bueno ya encontré el problema, en realidad era una tontería.

El comando ps devuelve los pid sin numero delante solo si coincide que
en la lista de procesos wget es uno de los últimos, pero en caso
contrario hay espacios delante, de modo que utilicé sed como una
alternativa más segura para obtener el pid.

Cierto, «ps» alinea los números a la derecha, adicionando espacios al
principio.

Si, fue un error de tecleo, lo que quise decir fue: "devuelve los pid sin espacio delante"


Esto te dará el mismo tipo de error cuando tengas más de un «wget»
corriendo:

No necesariamente, porque en el grep puede pasarse el comando completo con el archivo a la lista de urls, de modo que nunca habrá más de una instancia de wget que coincida.


$ wget -i- &
[1] 3178
$ WGET_PROCNUM=$(ps ax opid= ocomm= | sed 's/^\s*//' | grep wget |
cut -d" " -f1)
$ echo $WGET_PROCNUM
3178
$ [ ! -z $WGET_PIDS ] && echo "¡muere hereje!"
¡muere hereje!

Y el hereje morirá de seguro. Pongamos otro hereje:

$ wget -i- &
[2] 3193
$ WGET_PROCNUM=$(ps ax opid= ocomm= | sed 's/^\s*//' | grep wget |
cut -d" " -f1)
$ echo $WGET_PROCNUM
3178 3193
$ [ ! -z $WGET_PIDS ] && echo "¡muere hereje!"
bash: [: 3178: binary operator expecte
$ [ ! -z "$WGET_PIDS" ] && echo "¡muere hereje!"
¡muere hereje!

Conclusión: necesitas las comillas o no tendrás inquisición.


Bueno, si la idea fuese detener todas las instancias de wget, simplemente usaría killall, que era lo que usaba (muy efectivamente) hasta ahora. ;)

--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a