PreguntasLinux

Versión Completa: [howto]procesos en linux
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:
* Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
* Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
* Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
* Otra información que permite al sistema operativo su planificación.

Un proceso en linux está compuesto por: Un número identificador, (Process ID o PID), identificador de proceso, un PPID (Identificador del proceso padre), es el número que indica qué proceso creó al proceso en cuestión, un estado, que indica el estado actual de dicho poceso, un propietario (owner), generalmente es el usuario que lo ejecutó, y un indicador de importancia.

En linux existen muchos comandos que nos permiten, tanto ver, como modificar, cancelar, etc... procesos, algunos de dichos comandos, los especificaremos en las siguientes secciones, pero antes cabe aclarar que cada comando consta de muchas opciones posibles, las podras ver ejecutando man <comando>, estó te permitirá ver la página man de dicho comando:


>> pstree: muestra todos los porcesos actuales en forma de árbol.
parámetros:
-p muestra entre parentesis el PID, a conticuación del nombre del porceso
-u muestra entre parentesis el nombre de usuario que creo el poceso, a conticuación del nombre del porceso

ejemplo ejecución pstree -p
################################################################################ #####################
init(1)-+-acpid(3604)
|-agetty(5017)
|-agetty(5018)
|-agetty(5019)
|-agetty(5020)
|-agetty(5021)
|-agetty(5022)
|-amarokapp(21824)-+-ruby(21855)
| |-{amarokapp}(21845)
| |-{amarokapp}(21846)
| |-{amarokapp}(21847)
| |-{amarokapp}(21848)
| |-{amarokapp}(21849)
| `-{amarokapp}(22032)
|-apache2(4464)-+-apache2(4465)
| |-apache2(4631)
| |-apache2(4632)
| |-apache2(4633)
| |-apache2(4634)
| `-apache2(4635)
|-cron(4952)
|-cupsd(4713)
|-dbus-daemon(3661)
|-dbus-daemon(7860)
|-dbus-launch(7859)
|-dcopserver(7883)
|-events/0(5)
|-gpm(3806)
|-hald(3719)---hald-runner(3720)-+-hald-addon-acpi(3726)
| |-hald-addon-keyb(3736)
| `-hald-addon-stor(3748)
|-hcid(4516)
|-hpiod(4587)
|-hpssd.py(4652)
|-kaccess(7921)
|-kbluetoothd(7939)
|-kded(7887)
|-kdeinit(7880)-+-kate(21927)
| |-kio_file(21857)
| |-klauncher(7885)
| |-kwin(7895)
| `-mozilla-launche(21825)---firefox-bin(21836)-+-{firefox-bin}(21891)
| |-{firefox-bin}(21892)
| |-{firefox-bin}(21897)
| |-{firefox-bin}(21898)
| |-{firefox-bin}(21901)
| `-{firefox-bin}(21911)
|-kdesktop(7897)
|-kdm(3875)-+-X(7818)
| `-kdm(7819)---startkde(7831)---kwrapper(7892)
|-kgpg(7926)
|-khelper(6)
|-kicker(7899)
|-kio_uiserver(7902)
|-klipper(7935)
|-kmix(7928)
|-knockd(4773)
|-knotify(7937)
|-konqueror(21287)
|-krfcommd(4535)
|-ksmserver(7894)
|-ksoftirqd/0(3)
|-kthread(7)-+-aio/0(179)
| |-ata/0(144)
| |-ata_aux(145)
| |-kacpid(66)
| |-kblockd/0(65)
| |-kgameportd(152)
| |-khubd(149)
| |-kjournald(380)
| |-kpsmoused(360)
| |-kseriod(151)
| |-ksuspend_usbd(146)
| |-kswapd0(178)
| |-pdflush(176)
| |-pdflush(177)
| |-scsi_eh_0(324)
| `-scsi_eh_1(325)
|-migration/0(2)
|-mysqld(4357)-+-{mysqld}(4387)
| |-{mysqld}(4388)
| |-{mysqld}(4389)
| |-{mysqld}(4390)
| |-{mysqld}(4400)
| |-{mysqld}(4401)
| |-{mysqld}(4402)
| |-{mysqld}(4405)
| `-{mysqld}(4454)
|-nmbd(4839)
|-sdpd(4525)
|-smbd(4829)---smbd(4838)
|-snmpd(4896)
|-start_kdeinit(7879)
|-syslog-ng(3544)---sh(3545)---ccze(3548)
|-udevd(563)
|-vesafb(257)
|-watchdog/0(4)
`-yakuake(7924)---bash(21476)---pstree(22071)
################################################################################ #####################

>> ps: muestra una lista de los porcesos en ejecución, este comando es más completo que el anterior
parámetros:
-u muestra los procesos del usuario actual
-aux mustra información detallada de los procesos, con los siguiente campos:
* USER - usuario dueño del proceso.
* PID - número identificador del proceso.
* %CPU - porcentaje de uso del microprocesador por parte de este proceso.
* %MEM - porcentaje de la memoria principal usada por el proceso.
* VSZ - tamaño virtual del proceso.
* RSS - tamaño del proceso en la memoria principal del sistema.
* TTY - número de terminal (consola) desde el que el proceso fue lanzado. Si no aparece, probablemente se ejecutó durante el arranque del sistema.
* STAT - estado del proceso.
* START - cuándo fue iniciado el proceso.
* TIME - el tiempo de CPU (procesador) que ha usado el proceso.
* COMMAND - el comando que inició el proceso.

adicionales:
ps aux | grep mysql => mediante ps y grep se puede buscar información detallada de los proceosos que tengan que ver con mysql (en este caso). Esto también se puede hacer de la siguiente manera: ps u -C mysql
para buscar procesos de multiples id, ejecutamos lo siguiente => ps u -C mysql,apache,gaim , esto busca procesos que tengan que ver con mysql, apache y gaim.
lo siguiente que podemos hacer es observar estos proceso durante intervalos de tiempo, para ello ejecutamos:
watch -n 1 "ps u -C mysql,apache,gaim" utilizando watch observamos dichos procesos en intervalos de 1 segundo (-n)

ejemplo ps -aux
################################################################################ #####################
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 1556 356 ? Ss Apr04 0:00 init [3]
root 2 0.0 0.0 0 0 ? S Apr04 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN Apr04 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S Apr04 0:00 [watchdog/0]
root 5 0.0 0.0 0 0 ? S< Apr04 0:00 [events/0]
root 6 0.0 0.0 0 0 ? S< Apr04 0:00 [khelper]
root 7 0.0 0.0 0 0 ? S< Apr04 0:00 [kthread]
root 65 0.0 0.0 0 0 ? S< Apr04 0:00 [kblockd/0]
root 66 0.0 0.0 0 0 ? S< Apr04 0:00 [kacpid]
root 144 0.0 0.0 0 0 ? S< Apr04 0:00 [ata/0]
root 145 0.0 0.0 0 0 ? S< Apr04 0:00 [ata_aux]
root 146 0.0 0.0 0 0 ? S< Apr04 0:00 [ksuspend_usbd]
root 149 0.0 0.0 0 0 ? S< Apr04 0:00 [khubd]
root 151 0.0 0.0 0 0 ? S< Apr04 0:00 [kseriod]
root 152 0.0 0.0 0 0 ? S< Apr04 0:00 [kgameportd]
root 176 0.0 0.0 0 0 ? S Apr04 0:00 [pdflush]
root 177 0.0 0.0 0 0 ? S Apr04 0:00 [pdflush]
root 178 0.0 0.0 0 0 ? S< Apr04 0:14 [kswapd0]
root 179 0.0 0.0 0 0 ? S< Apr04 0:00 [aio/0]
root 257 0.0 0.0 0 0 ? S< Apr04 0:00 [vesafb]
root 324 0.0 0.0 0 0 ? S< Apr04 0:00 [scsi_eh_0]
root 325 0.0 0.0 0 0 ? S< Apr04 0:00 [scsi_eh_1]
root 360 0.0 0.0 0 0 ? S< Apr04 0:00 [kpsmoused]
root 380 0.0 0.0 0 0 ? S< Apr04 0:01 [kjournald]
root 563 0.0 0.1 2316 276 ? S<s Apr04 0:00 /sbin/udevd --daemon
root 3544 0.0 0.1 1936 380 ? Ss Apr04 0:00 /usr/sbin/syslog-ng
root 3545 0.0 0.1 2744 372 ? Ss Apr04 0:00 /bin/sh -c ccze -r >> /dev/tty12
root 3548 0.0 0.3 2328 956 ? S Apr04 0:01 ccze -r
root 3604 0.0 0.1 1548 324 ? Ss Apr04 0:00 /usr/sbin/acpid
101 3661 0.0 0.1 2148 280 ? Ss Apr04 0:00 /usr/bin/dbus-daemon --system
102 3719 0.0 0.4 5728 1140 ? Ss Apr04 0:01 /usr/sbin/hald --use-syslog
root 3720 0.0 0.1 2968 400 ? S Apr04 0:00 hald-runner
102 3726 0.0 0.1 1984 312 ? S Apr04 0:00 /usr/libexec/hald-addon-acpi
102 3736 0.0 0.1 1984 344 ? S Apr04 0:00 /usr/libexec/hald-addon-keyboard
root 3748 0.0 0.1 1780 292 ? S Apr04 0:01 /usr/libexec/hald-addon-storage
root 3806 0.0 0.0 1768 252 ? Ss Apr04 0:00 /usr/sbin/gpm -m /dev/input/mice -t ps2 -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377" -g 1 -A60
root 3875 0.0 0.1 2836 316 ? Ss Apr04 0:00 /usr/kde/3.5/bin/kdm
mysql 4357 0.0 0.5 143464 1300 ? Ssl Apr04 0:02 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/mysql
root 4464 0.0 0.2 24428 552 ? Ss Apr04 0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D PHP5 -D PYTHON -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
apache 4465 0.0 0.1 22164 288 ? S Apr04 0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D PHP5 -D PYTHON -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
root 4516 0.0 0.1 1632 284 ? Ss Apr04 0:00 hcid: processing events
root 4525 0.0 0.1 1612 296 ? Ss Apr04 0:00 /usr/sbin/sdpd
root 4535 0.0 0.0 0 0 ? S< Apr04 0:00 [krfcommd]
root 4587 0.0 0.1 6244 308 ? Ss Apr04 0:00 /usr/sbin/hpiod
apache 4631 0.0 0.1 24428 332 ? S Apr04 0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D PHP5 -D PYTHON -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
apache 4632 0.0 0.1 24428 332 ? S Apr04 0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D PHP5 -D PYTHON -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
apache 4633 0.0 0.1 24428 332 ? S Apr04 0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D PHP5 -D PYTHON -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
apache 4634 0.0 0.1 24428 332 ? S Apr04 0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D PHP5 -D PYTHON -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
apache 4635 0.0 0.1 24428 332 ? S Apr04 0:00 /usr/sbin/apache2 -D DEFAULT_VHOST -D PHP5 -D PYTHON -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
root 4652 0.0 0.3 9540 836 ? S Apr04 0:00 /usr/bin/python /usr/share/hplip/hpssd.py
root 4713 0.0 0.3 3836 904 ? Ss Apr04 0:00 /usr/sbin/cupsd
root 4773 0.0 0.0 1752 240 ? Ss Apr04 0:00 /usr/sbin/knockd -d -i eth0
root 4829 0.0 0.4 7852 1100 ? Ss Apr04 0:00 /usr/sbin/smbd -D
root 4838 0.0 0.0 7852 100 ? S Apr04 0:00 /usr/sbin/smbd -D
root 4839 0.0 0.2 3692 748 ? Ss Apr04 0:00 /usr/sbin/nmbd -D
root 4896 0.0 0.5 7668 1312 ? S Apr04 0:00 /usr/sbin/snmpd -p /var/run/snmpd.pid
root 4952 0.0 0.1 1804 400 ? Ss Apr04 0:00 /usr/sbin/cron
root 5017 0.0 0.1 1596 344 tty1 Ss+ Apr04 0:00 /sbin/agetty 38400 tty1 linux
root 5018 0.0 0.1 1596 344 tty2 Ss+ Apr04 0:00 /sbin/agetty 38400 tty2 linux
root 5019 0.0 0.1 1592 344 tty3 Ss+ Apr04 0:00 /sbin/agetty 38400 tty3 linux
root 5020 0.0 0.1 1592 344 tty4 Ss+ Apr04 0:00 /sbin/agetty 38400 tty4 linux
root 5021 0.0 0.1 1596 344 tty5 Ss+ Apr04 0:00 /sbin/agetty 38400 tty5 linux
root 5022 0.0 0.1 1592 344 tty6 Ss+ Apr04 0:00 /sbin/agetty 38400 tty6 linux
root 7818 2.0 20.8 84828 53152 tty7 SLs+ Apr04 11:51 /usr/bin/X -br -nolisten tcp :0 vt7 -auth /var/run/xauth/A:0-SjmIsK
root 7819 0.0 0.1 3536 488 ? S Apr04 0:00 -:0
warp 7831 0.0 0.1 2804 368 ? Ss Apr04 0:00 /bin/sh /usr/kde/3.5/bin/startkde
warp 7859 0.0 0.1 2740 356 ? S Apr04 0:00 /usr/bin/dbus-launch --sh-syntax --exit-with-session
warp 7860 0.0 0.0 2152 196 ? Ss Apr04 0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
root 7879 0.0 0.0 1400 124 ? S Apr04 0:00 start_kdeinit --new-startup +kcminit_startup
warp 7880 0.0 0.6 25656 1568 ? Ss Apr04 0:00 kdeinit Running...
warp 7883 0.0 0.4 25024 1132 ? S Apr04 0:02 dcopserver [kdeinit] --nosid
warp 7885 0.0 1.0 26684 2564 ? S Apr04 0:00 klauncher [kdeinit] --new-startup
warp 7887 0.0 3.5 32176 9040 ? S Apr04 0:12 kded [kdeinit] --new-startup
warp 7892 0.0 0.0 1536 208 ? S Apr04 0:00 kwrapper ksmserver
warp 7894 0.0 0.7 26808 1844 ? S Apr04 0:00 ksmserver [kdeinit]
warp 7895 0.0 2.2 28952 5684 ? S Apr04 0:28 kwin [kdeinit] -session 1015e138e1e3000117503307400000046940000_1175719990_707747
warp 7897 0.0 3.3 29896 8532 ? S Apr04 0:31 kdesktop [kdeinit]
warp 7899 0.0 3.4 32120 8860 ? S Apr04 0:13 kicker [kdeinit]
warp 7902 0.0 2.1 28120 5544 ? S Apr04 0:04 kio_uiserver [kdeinit]
warp 7921 0.0 0.6 26792 1612 ? S Apr04 0:05 kaccess [kdeinit]
warp 7924 0.0 4.0 28208 10392 ? S Apr04 0:09 yakuake -session 1015e138e1e3000116562386400000057100028_1175719989_950489
warp 7926 0.0 0.9 30560 2396 ? S Apr04 0:00 kgpg -session 1015e138e1e3000116564045500000057100388_1175719989_605176
warp 7928 0.0 1.0 29596 2756 ? S Apr04 0:00 kmix [kdeinit] -session 1015e138e1e3000117286403600000044260013_1175719989_680536
warp 7935 0.0 1.0 27188 2600 ? S Apr04 0:03 klipper [kdeinit]
warp 7937 0.0 0.8 26904 2088 ? S Apr04 0:01 knotify [kdeinit]
warp 7939 0.0 0.8 26588 2200 ? S Apr04 0:00 kbluetoothd --dontforceshow
warp 21287 0.0 7.8 38552 20088 ? S 04:59 0:02 konqueror [kdeinit] -mimetype inode/directory smb://seraph/
warp 21476 0.0 0.5 3012 1460 pts/1 Ss 05:09 0:00 /bin/bash
warp 21824 2.1 13.0 139832 33364 ? Sl 05:40 0:43 amarokapp
warp 21825 0.0 0.4 2936 1048 ? S 05:40 0:00 /bin/bash /usr/libexec/mozilla-launcher
warp 21836 8.8 28.1 199992 71868 ? Sl 05:40 2:57 /usr/lib/mozilla-firefox/firefox-bin
warp 21855 0.0 0.4 3760 1168 ? S 05:41 0:00 ruby /usr/share/apps/amarok/scripts/score_default/score_default.rb
warp 21857 0.0 2.5 26684 6440 ? S 05:41 0:00 kio_file [kdeinit] file /tmp/ksocket-warp/klaunchern4onKb.slave-socket /tmp/ksocket-warp/amarok8QCAQa.slave-socket
warp 21927 0.7 7.3 45048 18884 ? S 05:42 0:13 kate [kdeinit]
warp 22091 0.0 0.2 1732 736 pts/1 S+ 06:01 0:00 man pstree
warp 22094 0.0 0.4 2800 1048 pts/1 S+ 06:01 0:00 sh -c (cd /usr/share/man && (echo ".ll 16.9i"; echo ".nr LL 16.9i"; echo ".pl 1100i"; /bin/bzip2 -c -d '/usr/share/man/man1
warp 22095 0.0 0.2 2800 640 pts/1 S+ 06:01 0:00 sh -c (cd /usr/share/man && (echo ".ll 16.9i"; echo ".nr LL 16.9i"; echo ".pl 1100i"; /bin/bzip2 -c -d '/usr/share/man/man1
warp 22100 0.0 0.3 1996 780 pts/1 S+ 06:01 0:00 /usr/bin/less
warp 22109 0.0 0.6 3008 1656 pts/2 Ss 06:02 0:00 /bin/bash
warp 22123 0.0 2.4 25920 6280 ? S 06:04 0:00 kio_file [kdeinit] file /tmp/ksocket-warp/klaunchern4onKb.slave-socket /tmp/ksocket-warp/kdesktopfze5db.slave-socket
warp 22209 0.0 0.3 2188 884 pts/2 R+ 06:14 0:00 ps -aux
################################################################################ #####################

>> Top: es la versión interactiva de ps, añadiendo varias utilidades más.
top es muy amplio como para tratarlo en esta guía, por eso para más info => man top, hasta que haga la siguiente guía

ejemplo de top
################################################################################ #####################
top - 06:16:12 up 12:10, 1 user, load average: 0.15, 0.27, 0.38
Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie
Cpu(s): 9.4%us, 1.1%sy, 0.0%ni, 78.8%id, 10.1%wa, 0.1%hi, 0.6%si, 0.0%st
Mem: 255468k total, 250868k used, 4600k free, 2308k buffers
Swap: 987988k total, 141992k used, 845996k free, 82156k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21824 warp 15 0 136m 32m 22m S 2.0 13.1 0:45.51 amarokapp
1 root 15 0 1556 356 332 S 0.0 0.1 0:00.88 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.58 events/0
6 root 19 -5 0 0 0 S 0.0 0.0 0:00.01 khelper
7 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
65 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
66 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
144 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 ata/0
145 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 ata_aux
146 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 ksuspend_usbd
149 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khubd
151 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 kseriod
152 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kgameportd
################################################################################ #####################

gracias warp 1-smile
URLs de Referencia