Matar todos los procesos de un tiro (y II)

Posted on February 19th, 2008 in Bash by admin (502 lecturas)

Por aclamación popular :-) Estas tres líneas de comandos son equivalentes, todas ellas buscan procesos en cuyo nombre (o argumentos) contengan el string “cadena” y los mata. Para ser sinceros, no conocía pkill, y al parecer es exactamente el comando que resume todo este post. Es genial tener una base de lectores expertos que enseguida muestran la mejor solución al problema :-)

$ kill -9 `ps -ef | grep -i cadena | awk {’print $2′}`
$ pgrep cadena | xargs kill -9
$ pkill -9 cadena

Finalmente, también se ha nombrado killall, pero para buscar los procesos a matar, sólo se basa en el nombre del ejecutable, y no puedes decirle que mate “cualquier proceso en cuyos argumentos aparezca la cadena X”, por ejemplo.

Matar todos los procesos de un tiro

Posted on February 18th, 2008 in Bash, SysAdmin by admin (598 lecturas)

Apunto aquí una orden que he necesitado miles de veces y de la que nunca me acuerdo:

$ kill -9 `ps -ef | grep -i nombre | awk {’print $2′}`

Mata todos los procesos que tengan la cadena nombre en la descripción . Si no te acuerdas de esa orden, siempre puedes hacer un ps -aww| grep nombre y luego matar los procesos copiando y pegando los identificadores en una orden kill.

QtTube: cómo descargar vídeos de YouTube con un click

Posted on January 30th, 2008 in Bash, SysAdmin, Vídeo, sonido by admin (945 lecturas)

screenshot11.pngQtTube es una pequeña pero útil aplicación para descargar vídeos de YouTube con un click, sin usar la línea de comandos para nada.

Como el paquete de QtTube no está disponible en Synaptic y tiene algunas dependencias, su instalación no es trivial. Dado que estos días he estado impartiendo un curso de iniciación al software libre, aproveché este ejemplo para explicar la instalación de aplicaciones sin usar Synaptic, ni .debs. (sin llegar todavía a la compilación de fuentes con el hechizo mágico ./configure && make && make install) QtTube es el ejemplo de transición perfecto. Para que la explicación fuera reaprovechable, grabé un vídeo en formato .ogg.

Lo podéis encontrar troceado ( [ 1 , 2 , 3 , 4 , 5]} o completo ( 74 MB  )

Nota para recordar: se pueden concatenar varios vídeos .ogg en uno sólo desde la línea de comandos simplemente así:

$ cat qttube_{1..5}.ogg >> qttube.ogg

Para que luego digan que la línea de comandos está anticuada y sólo la usamos los viejos del lugar … :-)

cp con barra de progreso

Posted on January 26th, 2008 in Bash, SysAdmin by admin (644 lecturas)

¿Quieres que al copiar con cp un fichero enorme (una imagen .iso por ejemplo) de una carpeta a otra (situadas en distintos discos, para hacer más divertido el asunto) se vea una barra de progreso tal y como sucede al usar wget?

Es decir, ¿quieres conseguir algo así?

% cp_p /mnt/raid/pub/iso/debian/debian-2.2r4potato-i386-netinst.iso /dev/null
 76% [===========================================>                    ]

Bien, pues en este blog han publicado un shell script de unas 20 líneas para hacer justo eso. Crazy.

AutoNota: SSH Port Forwarding

Posted on August 30th, 2007 in Administración DL, Bash, Seguridad by admin (1613 lecturas)

Una nota para mí y para quien le interese; siempre tengo que andar buscando la sintaxis correcta para hacer SSH Port Forwarding. El objetivo es ’sencillo’: todo lo que haga a través del 8080 de mi máquina local debe de ser interpretado en el puerto 80 de mi máquina remota, que tiene un servidor Apache escuchando en la IP local 192.168.1.2 . Lo que la máquina remota devuelva debe de venir de vuelta a mi máquina local, todo ello de forma transparente, y cifrado por ssh (asumiendo que tengo una cuenta SSH escuchando en el puerto 1234 a nombre de usuario en la máquina remota):


$ ssh -p 1234 -f -C -L 8080:192.168.1.2:80 -l usuario maquina.remota.com sleep 7200

En la máquina desde la que lanzo la orden ssh anterior, pongo en /etc/hosts los nombres de los hosts virtuales del Apache que está escuchando en 192.168.1.2 en la máquina remota.

Un esquemita ayuda a comprender:

Máquina_Test —————————— Máquina.Remota.com
(lanzo la orden ssh) (ssh tunneling) 192.168.1.2:80 (Apache escuchando aquí)

(el ssh está a la escucha en el puerto ‘raro’ 1234 en máquina remota, en lugar del clásico 22)

Ya no se me volverá a perder este apunte ;-)

Deshabilitar el pitido de error en bash

Posted on August 29th, 2007 in Bash, Utilidades by admin (944 lecturas)

Este es un apunte rápido para no volverme loco buscando la forma de deshabilitar el beep (pitido) de error de una consola en modo texto (sin X) , con Bash ( corriendo bajo vmplayer en mi caso, pero eso no influye en la efectividad del truco)

$ setterm -blength 0

Anteriormente en DiarioLinux ya habíamos hablado de esto, pero el truco estaba orientado a consolas en modo X (abrir terminal desde un entorno gráfico). Recordemos que para esas ocasiones el comando sería:

$ xset -b

Espero que así los pitiditos dejen de aturdirme ;-)