EEPICA's BLOG eepica@nirvana:~# ps aux blog | grep eepica

Jugando con demonios en Linux :D

in Technology

Una de las tantas cosas que me gustan de los sistemas unix y para el caso en especifico linux, es el control que se puede tener sobre los diferentes procesos, pues bien, a continuación comparto una pequeña lista con funciones básicas de algunos comandos que podrían llegar a ser de gran ayuda.
pgrep: muchas personas solemos usar el comando "ps aux | grep nombre-proceso" para obtener entre muchos datos los PID de los procesos que mantienen vivos a los demonios de nuestras aplicaciones, pero, para quienes quieran hacer un poco de pereza y saber el proceso padre de la apliación podemos usar "pgrep nombre-proceso", comando que devolverá el PID del demonio padre.
kill: supongo es uno de los comandos más usados por la mayoría de nosotr@s, pero la mayoría no conocemos los sabores de éste.
Si usamos el comando:
1) SIGHUP                     2) SIGINT                        3) SIGQUIT                        4) SIGILL
5) SIGTRAP                  6) SIGABRT                     7) SIGBUS                          8) SIGFPE
9) SIGKILL                   10) SIGUSR                     11) SIGSEGV                     12) SIGUSR
13) SIGPIPE                14) SIGALRM                 15) SIGTERM                    16) SIGSTKFLT
17) SIGCHLD              18) SIGCONT                  19) SIGSTOP                      20) SIGTSTP
21) SIGTTIN               22) SIGTTOU                   23) SIGURG                      24) SIGXCPU
25) SIGXFSZ               26) SIGVTALRM           27) SIGPROF                    28) SIGWINCH
29) SIGIO                  30) SIGPWR                     31) SIGSYS                        34) SIGRTMIN
35) SIGRTMIN            36) SIGRTMIN                37) SIGRTMIN                38) SIGRTMIN
39) SIGRTMIN            40) SIGRTMIN                41) SIGRTMIN                 42) SIGRTMIN
43) SIGRTMIN            44) SIGRTMIN                   45) SIGRTMIN             46) SIGRTMIN
47) SIGRTMIN           48) SIGRTMIN                 49) SIGRTMIN          50) SIGRTMAX
51) SIGRTMAX            52) SIGRTMAX               53) SIGRTMAX1            54) SIGRTMAX
55) SIGRTMAX            56) SIGRTMAX-8         57) SIGRTMAX-7           58) SIGRTMAX-6
59) SIGRTMAX-5         60) SIGRTMAX-4          61) SIGRTMAX-3          62) SIGRTMAX-2
63) SIGRTMAX-1         64) SIGRTMA
Aunque las señales más comunes son:
  • SIGHUP (1): cuelgue del terminal o muerte del proceso controlador
  • SIGTERM (15): mata el proceso permitiéndole terminar correctamente
  • SIGKILL (9): mata el proceso sin permitirle terminar
  • SIGSTOP (19): para el proceso
  • SIGCONT (18): continúa si parado
  • SIGINT (2): interrupción de teclado (Ctrl-C)
  • SIGTSTP (20): stop de teclado (Ctrl-Z)
  • SIGQUIT (3): salida de teclado (Ctrl-)

Datos curiosos: cuando envíamos kill sin ningún parámetro envía por defecto la señal correspondiente a (15), además cuando enviamos la señal directamente al padre, ésta envía a todos sus hijos (si él se muere, sus hijos también... padre desconsiderado xD)

nohup: el comando nohup es muy útil, cuando queremos que un proceso tenga tendencias a la inmortalidad (ignore las señales SIGUP). Para usarlo sólo debemos anteceder al comando el comando "nohup".

... en fin, ésta es una pequeña muestra de los grandes desconocimientos que algunos tenemos :D

Saludos y recuerda, si algún demonio te causa problemas... tú eres más que poderoso que init y en tus manos está el que viva o muera... muerte a esos demonios conflictivos!!! xD

Comments (1)

  • kuadrosx:

    24 Mar 2010 05:47:12

    mi comando preferido es `kill -9 -1` xD

Leave a comment