El comando ps es el que permite informar sobre el estado de los procesos. ps esta basado en el sistema de archivos /proc, es decir, lee directamente la información de los archivos que se encuentran en este directorio.
ps -efl | more
-e
: todos los procesos-f
: opciones completas-F
: opciones extras completas-a
: muestra todos-x
: sin mostrar tty-u
: muestra usuarios-eo <campo>,<campo>,<campo>
: o = output personalizadops aux | more
ps -u <user>
: pocesos de <user>ps -eH
: muestra arbol de procesospstree -AGu
→ deprecado, usar → systemd-cgls
El comando kill, que literalmente quiere decir matar, sirve no solo para matar o terminar procesos sino principalmente para enviar señales (signals) a los procesos
kill l
kill -9 pid
≡ kill -SIGKILL pid
El comando killall, que funciona de manera similar a kill, pero con la diferencia de en vez de indicar un PID se indica el nombre del programa, lo que afectará a todos los procesos que tengan ese nombre.
killall -HUP httpd
:manda una señal de «colgar», detenerse releer sus archivos de configuración y reiniciarkillall -KILL -i squid
: manda señal de matar a todos los procesos squid pero pide confirmación en cada unoPermite cambiar la prioridad de un proceso. Por defecto, todos los procesos tienen una prioridad igual ante el CPU que es de 0.
nice -n <prioridad> <comando>
renice <prioridad> <pid>
: cambia el nice de un proceso en ejecuciónindependiza el proceso lanzado desde la consola de la propia consola, le permite ser independiente
nohup <comando>
$$
: PID shell actual$!
: PID último proceso ejecutado$?
: código de salida del comando anterior ejecutado. 0 es todo correctotrabajos en background
jobs
: vemos trabajos en backgroundfg <trabajo>
: reactiva el trabajo en background → ZSH fg %<trabajo>
bg <trabajo>
: reactiva el trabajo en el foreground → ZSH bg %<trabajo>
kill %<trabajo>
: mata ese trabajokillall <nombre>
:ps -j
: procesos consola actualmedir tiempo de ejecución de un comando/script
time <comando>
Este comando muestra el o los PID del programa invocado.
pidof <programa>
El comando pgrep muestra los identificadores de los procesos.
pgrep <opciones> <programa>
-l
: muestra el nombre proceso-u <user>
: procesos de <user>
/boot/vmlinuz*
: nuestro kernel compilado
uname -r
: versión kerneluname -a
/usr/src/linux
o /usr/src/linux
/usr/src/linux/Documentation
make config
: preguntará paso a pasomake menuconfig
: modo menúmake xconfig
export DISPLAY=<ip_remoto>:0.0
make all && make modules install && make install
make clean && make mrproper
: limpian el fichero .config con las opciones que se habían seleccionadolsmod
lista módulos cargadosmodinfo <modulo>
modprobe
: carga el módulo (y las dependencias)-r
: descarga el módulo (y las dependencias)insmod
: carga un módulo (pero no las dependencias)rmmod
descarga un módulo (pero no las dependencias)bzip2 -dc patch…. | patch -p1 –dry-run
unpatch
Un disco inicial de RAM es una colección de modulos críticos del kernel y de utilidades de sistema que el bootloader. Lee del disco y pasa al kernel en el momento del arranque.
Si el kernel ya incluye todos los drivers que se necesitan para arrancar dentro de su fichero inicial, este paso sería innecesario. Cada distribución utiliza una utilidad diferente para la generación del disco inicial de RAM, siendo los más comunes mkinitrd y mkinitramfs.
sysctl
sysctl <clave>
: lee el valor de la clave (separado por puntos)echo <clave>
: idem anterior, pero en lugar de puntos, es un FSsysctl -w <clave>=<valor>
: escribe el valor en la clave (separadoa por puntos)echo «1» > /proc/sys/net/ipv4/icmp_echo_ignore_all
sysctl -p[=myfile.conf]
: carga /etc/sysctl.conf (por defecto) o el fichero especificado.cat /proc/1/stat
, systemctl --version
cat /etc/inittab
← en qur runlevel arraca la máquinachkconfig --add <servicio>
chkconfig --del <servicio>
chkconfig --list
o service –status-all
chkconfig --level <levels> servicio [on|off]
ulimit
: muestra límites establecidos para el usuario (CPU, RAM, Procesos, ficheros…)export DISPLAY=<ip_remoto>:0.0