Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



sábado, 21 de enero de 2012

Algunos comandos de consola, interesantes para ayudarnos a programar.


Estoy haciendo una aplicación, y algunas veces, durante la depuración del programa, se queda "colgado" aparentemente el ordenador.

¿que hacer en estos casos?

Si funciona el teclado (por ejemplo, si le damos la tecla de bloqueo de numeros, y se enciende la luz), podemos unar la combinación de CTRL+ALT+Fn (n=1,2,3,4,5,6) para irnos a una consola y ver que esta ocurriendo.
Con CTRL+ALT+F7, regresamos al entorno grafico.

Si pulsamos, por ejemplo CTRL+ALF+F!, pasamos a una consola (habrá que introducir de nuevo nuestro usuario y clave)

Una vez en la consola, podemos usar el comando
$top
o
$htop 
 (este último tiene un entorno gráfico de consola y hay que instalarlo, ya que no viene por defecto en Ubuntu)


Estos nos muestran información sobre los procesos cargados en memoria (por ejemplo, la carga de cada uno en la CPU y el consumo de Memoria
Otro comando interesante es
$kill

El cual puede mandar distintas señales a los procesos (por ejemplo, intentar cerrarlos o directamente matarlos).
En la captura de pantalla vemos que el proceso PID 3024, es el que htop.
Si entramos en otra consola (pulsando, por ejemplo, CTRL+ALT+F2) y le damos la orden:
$kill 3024

El programa htop, se parará.

Otro comando interesante es
$lsof

Nos muestra mucha información acerca de lo que se esta ejecutando en nuestro ordenador. (ver:  http://es.wikipedia.org/wiki/Lsof y pagina man de lsof (traducido por google)

Nos muestra tanta información que tendremos que "filtrarla", para ello usamos el comando  grep y more
Por ejemplo:
$lsof |grep gbx2 |more
Podemos ver que esta usando gbx2 (gambas).

Otro ejemplo:
$lsof |grep gbx2 |more | grep sqlite

Estamos filtrando toda la información donde aparezca gbx2 y sqlite


Caso práctico:
Yo lo uso cuando estoy programando en el IDE de gambas, y al ejecutar el programa que estoy haciendo se me queda "pillado el ordenador", como habrá dos procesos (PID distintos), uno del IDE de gambas y otro del programa haciendo, puedo parar el programa sin parar el IDE de programación de gambas.


Saludos

Nota:
Otra comando interesante es
$nano
Es un editor de texto con el cual podemos editar archivos de configuración.