0% encontró este documento útil (0 votos)
148 vistas14 páginas

Comandos Linux - Ejercicio

Los siguientes comandos se utilizan principalmente para administrar procesos en sistemas Linux: 1. top muestra la actividad del procesador en tiempo real y lista los procesos que más uso de CPU tienen. 2. ps muestra una instantánea de los procesos actuales con opciones para filtrarlos. 3. ps aux muestra todos los procesos del sistema, incluidos los de otros usuarios. 4. kill y killall envían señales para terminar procesos. Los comandos time, bg, fg, & y nice controlan la ej

Cargado por

pepe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
148 vistas14 páginas

Comandos Linux - Ejercicio

Los siguientes comandos se utilizan principalmente para administrar procesos en sistemas Linux: 1. top muestra la actividad del procesador en tiempo real y lista los procesos que más uso de CPU tienen. 2. ps muestra una instantánea de los procesos actuales con opciones para filtrarlos. 3. ps aux muestra todos los procesos del sistema, incluidos los de otros usuarios. 4. kill y killall envían señales para terminar procesos. Los comandos time, bg, fg, & y nice controlan la ej

Cargado por

pepe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Comandos: Consiste en probar los siguientes comandos e indicar

para qué se utilizan:


1. top
2. ps
3. ps aux
4. kill
5. killall
6. time
7. fg
8. bg
9. &
10. nice
11. pgrep
12. prstat
13. pkill
14. pargs
15. preap
16. dispadmin
17. priocntl
18. psrset
19. jobs
20. pstree
TOP
Top proporciona una visión continuada de la actividad del procesador en
tiempo real. Muestra un listado de las tareas que hacen un uso más
intensivo de la CPU en el sistema, y puede proporcionar una interfaz
interactiva para manipular procesos. Puede clasificar las tareas por
empleo de CPU, uso de memoria y tiempo de ejecución. puede
configurarse mejor que el top normal del conjunto de programas procps.
La mayoría de las características pueden seleccionarse mediante una
orden interactiva o especificándola en el fichero de configuración
personal o general. Hay más información sobre esto más adelante.
top [-] [d intervalo] [q] [c] [S] [s] [i]

PS
Muestra una instantánea de los procesos actuales. Esta orden admite
opciones de las versiones ps propias de System V (precedidas por un
guión), de BSD (sin guiones) y de GNU (precedidas por dos guiones).
Algunas de sus opciones son:
-e visualiza información sobre "todos" los procesos del sistema.
-A idem a la opción -e
-j visualiza información sobre el PGID y SID.
I visualiza "mucha" información sobre los procesos (difiere a poner el
signo menos delante).
-f visualiza los parámetros con los que se levantó el proceso.
-a muestra también los procesos de otros usuarios.
-N niega el efecto de cualquier opción que se haya especificado.
-x muestra procesos que no están controlados por ninguna terminal.
-u visualiza información de los procesos del usuario

PS -AUX
Por defecto ps sólo muestra los procesos con el mismo user id efectivo
(EUID) que el del usuario que lo ejecuta. Cuando utilizamos ps con las
opciones "aux" el resultado es:
a: eliminar la restricción BSD "only yourself" para agregar procesos de
otros usuarios
u: utilizar el formato orientado al usuario
x: eliminar la restricción BSD "must have a tty" para agregar procesos
que no tengan una tty asociada
Kill
kill es un comando que envía una señal de terminación. Su traducción
directa es “matar” y prácticamente es lo que hace con los programas
sobre los que lo ejecutamos. El comando lo podemos usar de diferentes
maneras, entre las que yo destacaría, en Ubuntu.
Kill All
killall es una utilidad de la línea de comandos disponible en sistemas
operativos tipo Unix. Hay dos implementaciones diferentes:
La implementación proporcionada con el Unix System V original,
incluyendo Solaris 7 y la que viene con las utilidades sysvinit (enlace roto
disponible en Internet Archive; véase el historial y la última versión). de
Linux (como killall5), es un comando particularmente peligroso que mata
todos los procesos que el usuario es capaz de matar, colgando el sistema
si el usuario es el root.

Time
El comando time (del inglés time, tiempo) es un comando del sistema
operativo Unix y derivados. Se utiliza para determinar la duración de
ejecución de un determinado comando. Para utilizar el comando,
simplemente hay preceder a cualquier comando de la palabra time, como,
por ejemplo:
time ls
Al ejecutar el comando, time informará de cuánto tiempo llevó ejecutar el
comando ls en términos de tiempo de CPU de usuario, tiempo de CPU del
sistema y tiempo real. El formato de salida varía entre diferentes
versiones del comando.

Bg y Fg
En linux podemos ejecutar procesos en primer plano (foreground) o bien
en segundo plano (background). Un programa en foreground lanzado
desde un terminal monopoliza dicho terminal, por lo que, en principio,
no podremos ejecutar ningún otro programa a la vez.
Por el contrario, un programa en background una vez iniciado, deja de
monopolizar el terminal desde el que se lanzó, y este nos vuelve a mostrar
el prompt.
¿Cuándo lanzaremos un programa en background?
P.e. en un terminal gráfico lanzamos gimp y queremos realizar otras
operaciones desde el mismo terminal, o bien vamos a lanzar un programa
que no necesita interacción con el usuario.
¿Cuándo lanzaremos un programa en foreground?
Con un proceso que necesita interacción con el usuario, y esta
interacción se realiza a través del terminal.
¿Como podemos lanzar otro programa desde un terminal con otro
programa en ejecución en foreground?
Pulsamos CTRL-z con lo que pausamos el programa en ejecución y
foreground, ojo lo pausamos con lo cual dejará de funcionar, y ya
podremos lanzar otro programa p.e. ls
Si queremos devolverlo a foreground escribiremos fg. Si queremos
devolverlo a background escribiremos bg (esta sería la opción más lógica)
En el caso de que tengamos más de un programa detenido deberemos
indicarle tanto a fg como a bg el ID de tarea sobre el que actuarán.

&
Si una sentencia, termina con el operador de control &, el shell ejecuta
la orden en segundo plano en un subshell, indicando por la salida
estándar el número de trabajo y el PID del último proceso en la tubería
asociada (recordar que una tarea puede contener más de un comando);
devolviendo seguidamente un pront. Esto se llama ejecutar un proceso
en segundo plano (o en background).
El proceso seguirá mostrando su salida en la consola desde la que se dio
la orden, para evitar esto, se puede desviar la salida (por ejemplo con:
comando >> /dev/null &). Tener en cuenta que el programa que
ejecutemos desde la consola será "proceso hijo" de la consola, por lo que
si cerramos el terminal todos los procesos hijos finalizarán.

Nice
El comando nice en Linux nos permite modificar la prioridad de un
proceso frente al resto dentro del sistema. El kernel Linux es el encargado
de planificar y asignar tiempo de CPU a cada uno de los procesos que
corren en el sistema. El rango de asignación de prioridad disponible es
de -20 a 19, siendo -20 la mayor prioridad y 19 la menor. Gracias a nice
podemos asegurarnos que en momentos de usos elevados de CPU los
procesos adecuados reciban el mayor % de la misma.
Pgrep
grep es una utilidad de la línea de comandos escrita originalmente para
ser usada con el sistema operativo Solaris 7. Desde entonces se ha
reimplementado para Linux y OpenBSD. Usualmente, pgrep toma una
expresión regular de la línea de comandos y devuelve el ID de los procesos
cuyo nombre coincida con la expresión regular. Hay varios argumentos
que se pueden usar con grep para modificar el comportamiento por
defecto.

$ pgrep [opciones] [expresión regular] [archivo]'''

Por defecto devuelve el ID del proceso:


pgrep nombre_del_proceso
Mostrar todos los procesos (en formato largo, ID y nombre) que
pertenezcan al grupo otros:
pgrep -l -G otros
Mostrar todos los procesos que no pertenezcan al usuario root:
pgrep -v -u root
Los siguientes comandos se utilizan en Oracle y no son usados ni
admitidos en Linux.

Prstat
Para mostrar varias estadísticas para procesos y proyectos que se
ejecutan en el sistema, utilice el comando prstat con la opción -J.

% prstat -J
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
12905 root 4472K 3640K cpu0 59 0 0:00:01 0.4% prstat/1
829 root 43M 33M sleep 59 0 0:36:23 0.1% Xorg/1
890 gdm 88M 26M sleep 59 0 0:22:22 0.0% gdm-simple-gree/1
686 root 3584K 2756K sleep 59 0 0:00:34 0.0% automountd/4
5 root 0K 0K sleep 99 -20 0:02:43 0.0% zpool-rpool/138
9869 root 44M 17M sleep 59 0 0:02:06 0.0% poold/9
804 root 7104K 5968K sleep 59 0 0:01:28 0.0% intrd/1
445 root 7204K 4680K sleep 59 0 0:00:38 0.0% nscd/33
881 gdm 7140K 5912K sleep 59 0 0:00:06 0.0% gconfd-2/1
164 root 2572K 1648K sleep 59 0 0:00:00 0.0% pfexecd/3
886 gdm 7092K 4920K sleep 59 0 0:00:00 0.0% bonobo-activati/2
45 netcfg 2252K 1308K sleep 59 0 0:00:00 0.0% netcfgd/2
142 daemon 7736K 5224K sleep 59 0 0:00:00 0.0% kcfd/3
43 root 3036K 2020K sleep 59 0 0:00:00 0.0% dlmgmtd/5
405 root 6824K 5400K sleep 59 0 0:00:18 0.0% hald/5
PROJID NPROC SWAP RSS MEMORY TIME CPU PROJECT
1 4 4728K 19M 0.9% 0:00:01 0.4% user.root
0 111 278M 344M 17% 1:15:02 0.1% system
10 2 1884K 9132K 0.4% 0:00:00 0.0% group.staff
3 3 1668K 6680K 0.3% 0:00:00 0.0% default

Total: 120 processes, 733 lwps, load averages: 0.01, 0.00, 0.00

Pkill
pkill significa process kill y es una utilidad de línea de comando que
permite a los usuarios matar o terminar el proceso en Linux a través de
PID o nombre del proceso. pkill eliminará todos los procesos que
coincidan con el nombre del proceso. Permite patrones extendidos de
expresión regular y otros criterios coincidentes.
Pargs
El comando pargs le permite visualizar todos los argumentos que se
pasan a un proceso. Use el comando pargs con el comando pgrep para
visualizar los argumentos que se pasan a un proceso, como se indica a
continuación:
# pargs `pgrep ttymon`
579: /usr/lib/saf/ttymon -g -h -p system-name console login:
-T sun -d /dev/console -l
argv[0]: /usr/lib/saf/ttymon
argv[1]: -g
argv[2]: -h
argv[3]: -p
argv[4]: system-name console login:
argv[5]: -T
argv[6]: sun
argv[7]: -d
argv[8]: /dev/console
argv[9]: -l
argv[10]: console
argv[11]: -m
argv[12]: ldterm,ttcompat
548: /usr/lib/saf/ttymon
argv[0]: /usr/lib/saf/ttymon

Preap
En sistemas GNU/Linux cuando nos encontramos con procesos zombies,
para poder terminar con ellos no queda otra opción que matar al proceso
padre, y si desgraciadamente su padre es el PID 1 no queda más remedio
que reiniciar el SO para librarnos de los defunct.
En el caso de Solaris la cosa cambia, a partir de Solaris 9 está disponible
el comando preap, que permite forzar la muerte de un proceso para el
cual su superior aún no ha obtenido su estado de salida.

$ preap 5725
5725 : exited with status 0

dispadmin
Se puede utilizar el comando dispadmin para mostrar o cambiar los
parámetros del programador de procesos mientras el sistema está en
ejecución. Por ejemplo, puede utilizar dispadmin para examinar y ajustar
el valor de tiempo del programador FSS. El valor de tiempo es la cantidad
de tiempo durante la que puede ejecutarse un subproceso antes de
renunciar al procesador.
Para ver el valor de tiempo actual para el programador FSS mientras se
ejecuta el sistema, escriba:

$ dispadmin -c FSS -g
#
# Fair Share Scheduler Configuration
#
RES=1000
#
# Time Quantum
#
QUANTUM=110

Priocntl
Cómo designar una prioridad de proceso (priocntl)
1. Asuma el rol de usuario root.
2. Inicie un proceso con una prioridad designada.

# priocntl -e -c class -m user-limit -p PRI command-name


–e

Ejecuta el comando.

–c class

Especifica la clase dentro de la cual se ejecutará el proceso. Las clases válidas son TS (tiempo
compartido), RT (tiempo real), IA (interactivo), FSS (reparto equitativo) y FX (prioridad fija).

–m user-limit

Al utilizar la opción –p con esta opción, también se especifica la cantidad máxima que usted
puede aumentar o reducir su prioridad.

–p PRI

Permite especificar la prioridad relativa en la clase RT para un subproceso de tiempo real. Para
un proceso de tiempo compartido, la opción –p permite especificar la prioridad proporcionada
por el usuario, que oscila entre -60 y +60.

command-name

Especifica el nombre del comando que se va a ejecutar.


Psrset
Si queremos asignar procesos a una cpu en concreto, mover procesos de
una cpu a otra, en HPUX tenemos la opción de hacerlo con psreset.
Los procesos por defecto se lanzan en el pset 0, podemos crear un pset
nuevo (pset 1), asignado a una CPU y mover procesos a ese pset. De esta
forma podríamos garantizar una CPU para un proceso determinado o
aislar un proceso peligroso/problemático a otra CPU:
Creamos un pset:

# psrset -c 1
successfully created pset 1
successfully assigned processor 1 to pset 1

Jobs
El comando jobs permite ver la lista de comandos (jobs) en background
lanzados desde el shell, así como su estado (fg y bg pueden referirse a
uno de los jobs)
Pstree
Tal y como hemos comentado se trata de un programa que muestra los
procesos, desde la línea de comandos, en forma de diagrama de árbol.
Difiere del popular ‘ps’ en varios aspectos. Entre los que destaca que este
último muestra los procesos en una lista en lugar de un diagrama, pero
proporciona información más detallada sobre estos.
El programa pstree facilita información sobre la finalización de una serie
de procesos relacionados entre sí, esto es, todos los descendientes de un
proceso particular. El programa deja claro desde un principio que proceso
es el primario y cuáles son los secundarios. Esto evita buscar las
relaciones entre los diversos procesos de manera manual.

También podría gustarte