Lanzar y matar procesos
- Cuando lanzamos un comando se ejecuta en primer plano.
$ yes > /dev/null
Para matarlo pulsaremos <Ctrl+C>.
- Para lanzar un proceso en segundo plano se añade "&" al final:
$ yes > /dev/null &
Para ver los procesos en segundo plano usaremos el comando jobs:
$ jobs [1]- Running yes >/dev/null &
Para matar un proceso en segundo plano usaremos el comando kill, pasándole como argumento el número de tarea:
$ kill %1
- Para cerrar una aplicación colgada en el entorno gráfico podemos utilizar xkill
y hacer click sobre la ventana que se ha colgado:
$ xkill Select the window whose client you wish to kill with button 1...
Monitorizar procesos desde el shell
Para monitorizar los procesos desde el shell tenemos varios comandos:
- pstree (paquete psmisc): el comando pstree -p muestra los procesos en árbol.
- ps (process status): el comando ps -ef lista todos los procesos.
- top: como ps pero en tiempo real.
- free: muestra la memoria RAM libre y usada.
- watch:
ejecuta un comando repetidamente (por defecto, cada 2 segundos) mostrando su salida a pantalla completa, de manera
que permite monitorizar la salida del comando. Por ejemplo, si estamos reconstruyendo un RAID, podemos monitorizar
cómodamente el proceso con el comando:
$ watch -n1 'cat /proc/mdstat'
Monitorizar procesos en el entorno gráfico
Para monitorizar los procesos en el entorno gráfico tenemos varias opciones:
- GKrellM
(GNU Krell Monitors, gkrellm.net,
paquete gkrellm): es la aplicación más utilizada en Linux para monitorizar
el sistema. Tiene la apariencia de una barra de herramientas y dispone de infinidad de temas
y plugins (algunos de ellos muy útiles, como GKkrellMLaunch, que permite colocar
iconos para lanzar aplicaciones, muy interesante en window manager mínimos), todo
ello con un bajo consumo de recursos.
Además, podemos monitorizar otras máquinas instalando en ellas el servidor gkrellmd (paquete gkrellmd, script de inicio /etc/init.d/gkrellmd, archivo de configuración /etc/gkrellmd.conf). El comando a ejecutar en el servidor es:
# gkrellmd
El comando a ejecutar en el cliente es:
$ gkrellm --server <IP_servidor>
Podemos descargar plugins y temas desde gkrellm.net:
- plugins: ubicaremos su librería <librería.so> en:
~/.gkrellm2/plugins
- temas: son ficheros .tar.gz que descomprimiremos en el directorio:
~/.gkrellm2/themes/<tema>
- plugins: ubicaremos su librería <librería.so> en:
- KSysGuard (paquete ksysguard): herramienta de monitorización de KDE. Puede monitorizar otras máquinas si instalamos en ellas el daemon ksysguardd (paquete ksysguardd).
- GNOME-system-monitor (paquete gnome-system-monitor): herramienta de monitorización de GNOME.
hola!
es muy bueno tu enfoque me gustaria mas informacion sobre todos los procesos que se realizan en linux
Si se teclea la siguiente secuencia de órdenes:
$ yes
Ctrl+Z
[1]+ Stopped yes
$ bg %1
¿Qué sucede? ¿Cómo se puede parar el proceso yes? ¿Se puede parar o matar sin cambiar de consola? ¿Cómo? (necesito al menos dos maneras).
GRACIAS. [email protected]
Antonio, consulta la ayuda del comando ‘bg’…
$ help bg
bg: bg [job_spec ...]
Resume the suspended job ‘job_spec’ in the background, as if it had been
started with &.
El proceso suspendido se reanuda en segundo plano, por lo que puedes matarlo con ‘kill’.
En este caso no puedes acceder a la terminal porque está ocupada con la salida de ‘yes’. Prueba a redirigir previamente la salida con ‘yes > /dev/null’
Gracias con retraso. xD
¿Cuál es la señal más fuerte que se le puede enviar a un proceso? ¿Cómo mato un poroceso con kill -9?
¿Por qué Control + C no afecta a los procesos en segundo plano?
¿La siguiente salida de dónde sale?: Running yes >/dev/null & – Stopped vi fichero.txt + Stopped yes ¿Cómo mato sin kill?
¿Qué pasa si cerramos sesión teniendo trabajos parados? ¿Y si los trabajos en segundo plano estan ejecutandose?