El estado de los procesos.
El comando que averigua cuales son los procesos que se están ejecutando en
un instante determinado ya es conocido: ps (Process Status):
- (a)
- ps -arux
El comando ps genera una lista con información sobre el estado
de los procesos. Por
defecto (sin opciones) la lista se limita a los procesos creados en el shell
actual. La opción -a presenta los procesos de todos los usuarios.
La opción -x lista los procesos en background que están corriendo pero
que fueron creados en sesiones anteriores. La opción -r restringe la
salida a los procesos que están corriendo. La opción -u informa
extensamente acerca de todos los procesos que hemos seleccionado con el resto
de las opciones. La información presentada es la siguiente:
Dónde el campo STAT toma los siguientes valores en función de
si el proceso está:
En el caso de que STAT tenga una de las letras anteriores seguida de
la letra N significa que la prioridad actual del proceso ha sido
modificada con el comando nice . Si sigue una W, significa
que el proceso está "swapped out". Esto quiere decir que el proceso se
está ejecutando, pero sus páginas de código se han escrito en el
disco para dejar espacio en la memoria de la computadora para que otro
proceso se puede ejecutar. Valga como ejemplos:
width 3pt
width .3pt415ptgogh: > ps (preguntamos por los procesos que ejecuto concurrentemente)
PID TTY STAT TIME COMMAND
58 v01 S 0:01 -csh (un C Shell)
59 v02 S 0:00 -csh
71 v02 S 0:01 telnet iron (una conexión a otra estación llamada íron')
72 v01 S 1:12 vi shells.tex i (el documento que estoy escribiendo)
160 v03 S 0:01 -csh
191 v03 R 0:00 ps (el programa que muestra los procesos)
gogh: > ps -u (deseo toda la información acerca de mis procesos)
USER PID
vi 58 0.0 5.6 346 156 v01 S 15:53 0:01 -csh
vi 59 0.0 6.6 346 184 v02 S 15:53 0:00 -csh
vi 71 0.0 1.8 112 52 v02 S 15:56 0:01 telnet iron
vi 72 0.6 7.7 168 216 v01 S 15:58 1:15 vi shells.tex
vi 160 0.0 11.9 348 332 v03 S 18:34 0:01 -csh
vi 192 0.0 8.0 72 224 v03 R 19:12 0:00 ps -u
gogh: >ps -a (información acerca de todos los procesos)
PID TTY STAT TIME COMMAND
61 v04 S 0:00 -bash
62 v05 SW 0:00 (agetty)
63 v06 SW 0:00 (agetty)
174 v04 S 0:00 -sh
58 v01 S 0:01 -csh
59 v02 S 0:00 -csh
71 v02 S 0:01 telnet iron
72 v01 S 1:16 vi shells.tex
160 v03 S 0:01 -csh
193 v03 R 0:00 ps -a
gogh:/> find . -name carta -print > $HOME/busqueda & (en background)
[1] 203 (número que identifica el proceso en background)
gogh:/> ps -r (procesos que están corriendo)
PID TTY STAT TIME COMMAND
203 v03 R 0:06 find . -name carta -print
205 v03 R 0:00 ps -r
gogh: >
[1] Done find . -name carta -print
gogh: > (sleep 100; echo He dormido durante 100 segs) &
[1] 285
gogh: > ps -x (preguntamos por los procesos corriendo en background)
PID TTY STAT TIME COMMAND
58 v01 SW 0:01 (csh)
59 v02 SW 0:00 (csh)
71 v02 S 0:03 telnet iron
72 v01 S 1:42 vi shells.tex
279 v03 S 0:01 -csh
285 v03 S 0:00 -csh
286 v03 S 0:00 sleep 100 (este proceso duerme en background 100 segs)
287 v03 R 0:00 ps -x
gogh: >
gogh: > He dormido durante 100 segs
[1] Done ( sleep 100; echo He dormido durante 100 segs )
gogh: >
width .3pt
depth .3pt
width -3pt