Activa JavaScript para disfrutar de los vídeos de la Mediateca.
03-Procesos Linux 3/5 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Vamos a seguir con cómo podemos finalizar un proceso que ha empezado a ejecutarse, pero antes me queda comentaros un comando que nos puede resultar útil, sobre todo cuando estemos viendo script, y es el comando que se llama pgrep.
00:00:00
Este comando pgrep lo que hace es utilizar una expresión regular y lo que hace es mostrar todos los ids de todos los procesos que se están ejecutando actualmente
00:00:16
Que coincidan con dicha expresión regular que nosotros le pongamos en el pgrep
00:00:27
Entonces lo vemos mejor con un ejemplo
00:00:35
Imaginaros que nosotros, yo que sé, el XSize este ya que estamos utilizando
00:00:37
Lo voy a ejecutar varias veces en segundo plano para que no moleste
00:00:44
Y imaginaros que yo puedo decirle que quiero que me diga el PREP y yo le puedo decir aquí XSize
00:00:49
¿Qué es lo que me dice? Pues fijaros que lo que nos devuelve son los identificadores de todos los procesos que coinciden con XSize
00:01:00
¿Sí? Cuidado con poner, por ejemplo, xis porque te dice que no hay ninguno, a no ser que nosotros dentro de las opciones del pgrep le digamos que no quiero distinguir entre mayúsculas y minúsculas.
00:01:07
Imaginaros que estamos en lo del grep, ¿vale? Me junta aquí el ps con el grep, juntan los dos comandos en uno, pero esto lo que hace es devolver los ids, ¿sí?
00:01:21
Si en lugar de decirle que me devuelva uno en cada línea, yo le digo el "-d", y le digo, por ejemplo, que me lo separe con una coma, pues me devuelve separados con una coma.
00:01:30
Entonces, este comando nos resulta muy útil, sobre todo cuando estemos en script.
00:01:41
Otra de las opciones del comando pgrep es la opción, por ejemplo, "-n".
00:01:47
¿Qué es lo que hace el "-n"? Me devuelve el id del último comando que yo he ejecutado.
00:01:52
Entonces, hay veces que ejecutáis un comando, queréis obtener su ID, pues con poner el pgrep-n obtenéis el ID correspondiente al comando.
00:01:57
Otras opciones que podemos utilizar del comando pgrep.
00:02:08
Nosotros le podemos decir, por ejemplo, que quiero que me muestre del usuario root
00:02:11
Solo del usuario root
00:02:25
Y quiero que me muestre, por ejemplo, los que son ssh
00:02:30
Y me muestra el identificador del servidor ssh que se está ejecutando, que son el 16500
00:02:33
¿Sí? Entonces, repito, yo aquí le puedo decir por usuario, me está buscando del usuario root aquellos que son el SSH. Si yo le digo, por ejemplo, del alumno, pues obviamente me dice que el alumno no está ejecutando ningún proceso SSH.
00:02:40
vale, que otras opciones
00:02:55
nosotros vamos a poder utilizar dentro del pgrep
00:02:59
que nos pueden ayudar
00:03:02
antes le hemos dicho, voy a bajar aquí porque como tenemos los ojitos
00:03:03
le voy a decir que quiero que me busque del pgrep
00:03:07
y le hemos dicho el xsize
00:03:11
si yo le digo que en lugar de que eso
00:03:13
quiero saber cuánto se me están ejecutando, le digo
00:03:17
guion c, esto para que? porque imaginaros
00:03:20
que tenéis, yo que sé, instancias
00:03:23
del Apache y tenéis que vigilar
00:03:25
que no haya más instancias de las que vosotros
00:03:27
debéis, entonces vosotros dentro de un script
00:03:29
le podéis decir que si supera el número
00:03:31
de tres, pues entonces
00:03:33
monitorizáis y matáis
00:03:34
aquellos que sobran o a saber
00:03:37
¿vale? entonces hay veces que os puede
00:03:39
interesar cuánto están ejecutando
00:03:41
pero
00:03:43
quiero que veáis también que
00:03:43
yo por ejemplo voy a
00:03:47
ejecutar el gedit
00:03:49
simplemente para que lo veáis
00:03:51
me voy a ejecutar en segundo plano
00:03:52
¿sí? entonces se me ha abierto
00:03:58
aquí el gedit
00:04:00
entonces imaginaros que yo quiero
00:04:01
buscar, porque el pgrep
00:04:04
yo puedo poner una expresión regular
00:04:06
entonces, si yo quiero poner
00:04:08
una expresión regular
00:04:10
si yo le digo
00:04:11
el pgrep
00:04:14
y por ejemplo
00:04:15
pues yo que sé
00:04:18
le digo
00:04:20
que sea, que sea, que sea
00:04:26
Bueno, si yo le digo ahora aquí un n simplemente para que lo veáis, pues me muestra el último que yo he ejecutado.
00:04:32
Pero si yo le digo que me muestre todo lo que empieza por una x y asterisco, pues fijaros que me muestran todos los ids de todos los procesos que coinciden con el patrón de que empiezan por e y una x.
00:04:37
si yo le digo x size tenemos ese si yo le digo
00:04:51
g edit tengo ese pero yo le puedo decir
00:04:56
oye quiero que me muestres por x o por e
00:05:01
no por x o por g
00:05:04
seguido de una e o una g
00:05:07
y seguido de una
00:05:13
y o una e y después
00:05:17
cualquier cosa. Entonces fijaros que aquí me tiene que devolver estos tres, el 2, 2, 4, 1, 5, 4, 9, 4, 6 y el 2, 2, 8, es decir, estos cuatro de aquí coinciden que empiezan por x, coge, sigue una e, una g y le sigue una y, una e, es decir, yo aquí puedo poner expresiones regulares, ¿vale? Las que ponía con el grepo, aquí también las puedo poner, ¿de acuerdo?
00:05:20
Entonces, hemos visto que podemos utilizar el guión i para que no me distinga entre mayúsculas y minúsculas, le hemos dicho que puedo decirle que me diga cuántos hay, le hemos dicho que le puedo decir que el delimitador, por ejemplo, es el espacio en blanco, y me pone el espacio en blanco, le puedo decir que nos muestre el id del proceso, ¿vale?
00:05:47
si yo le digo guión L me muestra el nombre del proceso
00:06:11
¿qué más opciones le podemos decir?
00:06:17
le puedo decir que solamente me muestres aquellos que son de un terminal
00:06:29
por ejemplo si yo pongo aquí el PTS1
00:06:34
yo soy el PTS1
00:06:37
si yo le digo que me muestre todos los que son del terminal
00:06:40
y le pongo guion t y le pongo el pts 1 pues solamente me muestran los que se están ejecutando
00:06:45
en ese terminal correspondiente entonces aquí tenéis una opción a tener en cuenta a la hora
00:06:53
de conseguir identificadores de proceso pero que junta el comando ps con el comando cre para obtener
00:07:00
repito identificadores si hemos visto que le puedo decir el guión para obtener el usuario
00:07:07
correspondiente le puede ser guión g para obtener el grupo correspondiente
00:07:13
de acuerdo si queréis lo que esto ya simplemente ya son si queréis decirle
00:07:19
por ejemplo los que no sean este pues esto es como el v decir te van a
00:07:25
devolver los identificadores que no coinciden con ese patrón si vale pues
00:07:32
viendo esto vamos a ver cómo podemos finalizar procesos entonces por ejemplo
00:07:38
vamos a coger aquí y nosotros que sepáis que cuando se va a finalizar un proceso lo que se
00:07:43
hace es enviar una señal a ese programa indicando dependiendo del tipo de señal indicando que lo que
00:07:50
es lo que queremos que haga entonces las señales tienen un nombre o un número asignado los números
00:07:58
de señal van a variar dependiendo de la plataforma de linux que nosotros tengamos vale pero los
00:08:06
nombres y los significados suelen estar estandarizados vale entonces vamos a ver
00:08:11
qué tipo de comandos o qué tipo de señales nosotros vamos a poder enviar a
00:08:16
los diferentes procesos para decir que queremos terminarlos
00:08:22
entonces este tipo de señales lo voy a mostrar directamente en lugar de poner
00:08:27
las transparencias lo vamos a ver aquí si yo pongo kill guión l quiero que
00:08:32
veáis que estas son todas las señales que tengo puesto en cada una de ellas es
00:08:37
decir tengo el nombre de la señal y el número asignado a cada una de ellas sí
00:08:42
entonces aquí solamente voy a comentar un par de ellas que son las que se
00:08:47
suelen utilizar prácticamente siempre y estas señales son o esta de aquí
00:08:51
o esta de aquí
00:09:01
o a ver si la veo que no la encuentro
00:09:05
o esta de aquí
00:09:08
y las otras dos
00:09:12
el SYNC CONTINUE
00:09:14
y el SYNC STOP
00:09:18
vale entonces vamos a ver esas que son las que más os pueden vosotros ayudar
00:09:20
pero fijaros que tenemos hasta 64 tipos de señales diferentes que se le pueden
00:09:25
mirar
00:09:29
a los procesos
00:09:30
Vamos a ver qué quiere decir cada una de ellas. Aquí sí que os voy a mostrar la transparencia. A ver si se ve. Sí, ok.
00:09:32
Entonces quiero que veáis que o tenemos el número de señal
00:09:47
Porque yo le puedo indicar la señal que le quiero enviar
00:09:52
O se lo envío con el número
00:09:55
O se lo envío en este caso con el nombre
00:09:56
Aquí tenéis el nombre abreviado
00:10:00
Pero si no queréis el nombre abreviado
00:10:02
Lo que hacen es poner, por ejemplo, el SIG y el AP
00:10:05
SIG, INT, SIG, QUIT, SIG, KILL, SIG, TEN
00:10:08
¿De acuerdo?
00:10:12
¿Qué es lo que hace cada uno de estos?
00:10:13
Pues fijaros que el que nos van a interesar nosotros, voy a empezar por este, que es el valor por defecto. Es decir, cuando nosotros le decimos a un proceso que queremos terminarlo, por defecto se envía esta señal que se llama SIGTEN y tienen asignado el numerito 15.
00:10:15
Y me dice, provoca la finalización del programa. Me dice, oye, a diferencia del syskill, que este es el 9, que es este de aquí, me dice, puede bloquearse, ignorarse y manipularse.
00:10:30
dice es la manera correcta de solicitar la finalización de un programa me explico cuando
00:10:46
yo le envío esta señal a un programa imaginaros que tiene un fichero abierto pues yo a ese programa
00:10:52
le estoy diciendo oye cierra te entonces va a terminar de escribir las cosas del buffer que
00:10:58
tenga en el disco duro y se va a terminar correctamente si el envío esta señal en cambio
00:11:02
si yo le envío esta señal de aquí es como si yo hiciese un botonazo en el ordenador por decirlo
00:11:07
alguna manera es decir es mata esa aplicación cierra la y puede que los datos que hay o con
00:11:12
los que yo esté trabajando se queden de forma incorrecta entonces el menos 9 es la última
00:11:20
opción que tendría es que intentar utilizar pero sí que es cierto que la gente se acostumbra mucho
00:11:27
a utilizar siempre el six kill porque como sabe que eso lo mata sí o sí pero qué os puede pasar
00:11:34
Pues esto es como cuando sacáis un pendrive y no lo extraéis de forma segura que se pueden crear los actos corruptos, pues aquí igual, es decir, el 15 haciendo una analogía con el USB, extraéis el USB de forma correcta y el guión 9 saquéis el USB al capón con todos los problemas que eso puede acarrear, ¿de acuerdo?
00:11:41
¿Sí? Y luego nosotros tenemos aquí el 18 y el 19. ¿Os acordáis cuando estuvimos viendo el control de los trabajos que teníamos, lo de poner en segundo plano, en pausado y cuando queríamos reanudar? Pues aquí tenemos las señales. Cuando yo le quería decir que el control Z, que lo quería suspender, ¿vale? O cuando yo lo quería reanudar, que poníamos en este caso el BG o el FG.
00:11:58
Entonces son las señales que nosotros le podemos enviar. Pero tenéis hasta 64. Aquí tenéis algunas más conocidas, pero con que sepamos esta que tenemos aquí, repito que tenemos la 18, la 19, la 15 y la 9.
00:12:24
¿De acuerdo? Vale, pues vamos a ver cómo podemos nosotros matar un proceso.
00:12:41
Ya hemos visto que nosotros podemos ver todas las señales con un comando que se llama kill.
00:12:49
Pues ese comando es el que nosotros vamos a utilizar para matar, para terminar un proceso.
00:12:58
tenéis que saber que los usuarios pueden finalizar sus propios procesos, obvio, pero si alguien quiere matar o quiere terminar un proceso que no es suyo
00:13:05
ya necesito privilegios de administrador, pues vamos a ver cómo funciona el comando kill, yo al comando kill le puedo pasar o el numerito de la señal
00:13:18
o el número 15, o le puedo pasar el nombre de la señal, es decir, el system, que es el valor por defecto, el número 15, recordar, ¿de acuerdo?
00:13:28
¿Y qué es lo que le tengo que pasar al comando kill? El identificador de proceso que quiero matar.
00:13:37
Por ejemplo, si yo le digo aquí el pgrep y le digo xice, os recuerdo que si queréis ver en este caso cuáles son los p y d de los procesos, poníamos en este caso el guión l.
00:13:43
Y tenemos ahí que efectivamente tenemos los procesos
00:14:08
¿Qué pasa si yo quiero matar un proceso?
00:14:13
Pues yo puedo utilizar lo siguiente
00:14:17
Quiero que lo veáis, ¿vale?
00:14:18
Lo voy a poner así, lo voy a poner más chiquitito
00:14:20
Porque quiero que veáis los tres ojos
00:14:22
Yo por ejemplo voy a decirle
00:14:23
Oye, sin poner nada, ¿eh?
00:14:26
Le voy a poner kill y le voy a poner el primero
00:14:27
Y quiero que veáis
00:14:30
Qué es lo que pasa con el primer ojo
00:14:31
Que lo he matado
00:14:33
Que quiero matar, que yo le digo ya
00:14:34
oye, otra vez quiero ver y tengo dos
00:14:37
me dice que hay uno que ha sido terminado
00:14:39
¿vale? con el kill
00:14:41
como yo no he puesto el número de señal
00:14:42
por defecto me está mandando la señal 15
00:14:44
la que se llama 610
00:14:46
la que tenemos aquí arriba
00:14:48
que estoy seleccionando
00:14:49
con el ratón, esta de aquí
00:14:51
¿de acuerdo?
00:14:54
si yo no pongo nada
00:14:57
por defecto estoy mandando esa señal
00:14:58
¿sí?
00:15:00
vale, ¿qué pasa si yo ahora hago lo siguiente?
00:15:02
nosotros tenemos
00:15:05
que se está ejecutando estos tres
00:15:06
comandos. ¿Qué pasa si yo quiero
00:15:11
decirles, por ejemplo, le decimos
00:15:15
el pgrep y vamos a coger este segundo
00:15:19
y le vamos a decir que lo quiero
00:15:23
parar. Yo le puedo decir, oye, kill
00:15:25
y le digo, lo quiero parar y le voy a decir
00:15:30
Pues este de aquí
00:15:38
Parece que no me ha hecho nada
00:15:39
Si yo le digo ahora el jobs
00:15:42
Quiero que veáis que ha hecho aquí
00:15:45
¿Lo veis?
00:15:46
Me lo ha detenido
00:15:48
¿Veis donde estoy?
00:15:49
Ahí
00:15:54
Entonces veis que me lo ha detenido
00:15:55
¿Qué pasa si lo quiero volver a reanudar?
00:16:00
Pues en lugar de decirle el seek stop
00:16:02
Le voy a decir
00:16:06
Que quiero continuarlo
00:16:07
De forma que si yo le digo el jobs
00:16:11
Pues ahora de nuevo, yo ya lo tengo ejecutándose.
00:16:13
¿De acuerdo?
00:16:19
¿Entendemos esto?
00:16:22
Son las opciones que os podéis encontrar dentro del kill.
00:16:24
Ahora, yo también puedo mandarle la señal correspondiente.
00:16:29
Es decir, imaginaros que me voy a cargar el GEDIC que tengo aquí.
00:16:33
Lo voy a poner aquí, en este lado.
00:16:37
Imaginaros que a mí se me ocurra hacer esto
00:16:41
En lugar de poner el nombre
00:16:45
Porque repito, si yo no pongo nada
00:16:46
Es como si estuviese mandando
00:16:48
Esta señal, ¿vale?
00:16:49
Esto
00:16:53
Y esto es lo mismo
00:16:53
¿Sí? O le mando el número
00:16:58
O le mando el nombre de la señal
00:17:00
Pues imaginaros que yo hago esto
00:17:02
Le hago el 9
00:17:05
Y le voy a mandar, por ejemplo, el del gedit
00:17:05
Que, espérate que no me lo sé cuál es
00:17:09
Este de aquí
00:17:11
Pues imaginaros que yo le digo kill
00:17:17
Y le digo 9
00:17:20
Y le voy a decir este de aquí
00:17:21
¿Sí?
00:17:23
Es decir, me lo ha matado, ¿vale?
00:17:27
Me ha intentado incluso matar el VAS, pero bueno
00:17:30
Porque este de aquí de que le he dicho el heading
00:17:32
Me ha cogido el padre, pero me da igual
00:17:35
Pero me ha matado
00:17:37
¿Y qué pasa si yo tuviese ahí escrito 15.000 cosas?
00:17:39
Pues yo hubiese perdido absolutamente todo
00:17:43
En cambio, si yo hubiese hecho esto, se hubiese cerrado o se hubiese intentado cerrar correctamente.
00:17:45
¿Cuándo tenemos que utilizar el 9?
00:17:53
Tenemos que utilizar el 9 cuando esta opción normal no nos funciona.
00:17:56
Imaginaros que yo le digo aquí que quiero borrar o que quiero quitar el XSize y no me funciona.
00:18:00
Entonces intentar en este caso con la opción 9.
00:18:06
¿Sí?
00:18:10
Vale.
00:18:11
Ya hemos visto las tres opciones.
00:18:12
Repito que esto, cierro todos para que lo veáis y voy a borrar este de aquí. Ese me ha cerrado correctamente y esto es lo mismo. En lugar de este de aquí, vamos a decirle el que nos queda, que me parece que es este de aquí.
00:18:15
me da igual que sea o por número o por nombre de la señal
00:18:40
pues que sepáis que tenéis otro comando que es como el kill
00:18:47
pero es de lo siguiente, imaginaros que yo tengo lo mismo
00:18:52
tengo aquí 3 o 4, yo le digo que tengo aquí los correspondientes
00:18:57
Yo le tengo aquí el pgrep xsize. Pues hay un comando que es kill all, que lo que hace es, yo le paso el nombre del proceso, le paso la señal que le quiero pasar, por ejemplo, le puedo pasar el 15 o le puedo pasar la señal que quiera, exactamente igual que el kill.
00:19:09
Pero aquí lo que le voy a decir es, oye, XSize, y quiero que veáis que lo que hace, pues me ha terminado todo cuyo nombre coincide con ese de ahí.
00:19:36
Entonces, si tenéis abiertos cinco pestañitas o cinco Firefox o Chrome o lo que pueda ser y lo queréis matar todo a la vez, pues aquí tenéis el comando KeyLol.
00:19:44
si yo al comando
00:19:53
si yo al comando
00:19:58
kilol
00:20:04
le digo menos L
00:20:05
pues ahí son las señales que yo le puedo enviar
00:20:09
esas son las versiones abreviadas
00:20:12
sin el sig
00:20:14
sig quit
00:20:15
de acuerdo
00:20:17
y si yo tengo lo mismo
00:20:20
imaginaros que yo tengo
00:20:23
pues esto de aquí
00:20:25
con 3 me vale, yo tengo estos 3
00:20:27
Entonces, si yo le digo que quiero matar todos los que son XIs, ¿qué es lo que hace el W? El W lo que hace es, si hay un proceso padre que ha ejecutado esos tres XIs, pues espera a que todos terminen para terminarse correctamente, ¿vale? Simplemente por curiosidad para que lo tengáis en cuenta.
00:20:29
vale, lo que os he dicho
00:20:56
siempre que podáis por favor
00:21:00
utilizamos la señal por defecto
00:21:02
que es el SYNC TERM
00:21:04
que es la predeterminada
00:21:06
porque si utilizamos el SYNC KILL
00:21:07
SYNC KILL
00:21:10
que es el menos 9
00:21:12
no va a poder terminarse
00:21:13
correctamente
00:21:16
el programa, el proceso
00:21:18
y lo que son las opciones por ejemplo
00:21:20
de limpieza, de caché, etc
00:21:22
Todo eso no se va a realizar. Entonces hay muchas posibilidades de que perdamos información del proceso en cuestión. Entonces solamente utilizarlo cuando sea estrictamente necesario.
00:21:24
¿De acuerdo? Hemos visto la opción el KeyLol y ahora simplemente para que veáis, imaginaros que nosotros tenemos esto de aquí y tenemos el gedit o la 1.txt.
00:21:35
Vale, nosotros tenemos esto de aquí, ¿de acuerdo? Entonces nosotros tenemos aquí el PSJ para ver los procesos que tenemos nosotros de esto de aquí, ¿de acuerdo? Vale, ¿qué pasa si yo quiero matar todos con el kill all?
00:21:54
El kill all yo le puedo pasar una expresión regular
00:22:18
Si yo le digo kill all
00:22:23
Yo le puedo decir, oye, pues quiero que empiecen
00:22:29
Pues por ejemplo, para decirle que voy a utilizar una expresión regular
00:22:33
Voy a utilizar guión R
00:22:39
Y le voy a decir, por ejemplo, mira, va a empezar por
00:22:40
la x
00:22:47
o la g, igual que hemos hecho antes
00:22:51
le sigue la e
00:22:53
x size
00:22:55
y el g edit
00:23:04
le sigue una e y le sigue
00:23:05
una i
00:23:09
o una d
00:23:13
¿si? y luego
00:23:15
cualquier cosa
00:23:17
y le voy a decir
00:23:18
guion i, ¿por qué le digo guion i?
00:23:23
porque fijaros que el guion
00:23:26
es interactivo, me pregunta
00:23:28
vaya a ser que yo la cague y digo
00:23:30
oye, ¿quieren matar este proceso? por defecto
00:23:32
me pone que no, pero mira, este sí que
00:23:34
es el x6, este sí que lo mato, este
00:23:36
lo mato y el gedit también lo mato
00:23:38
¿vale? porque si no ponéis
00:23:40
la i, hay a veces que no habéis probado
00:23:42
la expresión regular, os va a dar
00:23:44
procesos que no queréis matar y os lo va a matar
00:23:45
entonces, el guión i, hay a veces
00:23:48
que está muy interesante y siempre que queráis
00:23:50
poner una expresión regular, ponéis
00:23:52
el guión r
00:23:54
y aquí igual que antes, si no queréis
00:23:55
distinguir entre mayúsculas y minúsculas pues en este caso vamos a ponerla y mayúscula sí porque
00:23:57
la y minúscula se utiliza para interactivo que queremos listar todas las señales ya hemos visto
00:24:03
que tenemos la opción l perdonarme la opción l si quiero buscar exactamente algo es decir que
00:24:09
se llame x hay exactamente así no que empiece ni que contenga sino si quiero que encuentre eso
00:24:21
pongo guión y me busca exactamente lo que quiera buscar de acuerdo y si quiero coger y quiero
00:24:28
decirle oye que pertenezca al usuario alumno pues ponemos el rayado y que sea oye mátame todos los
00:24:34
x 6 del alumno usuario obviamente como no tengo ninguno si yo tuviese aquí un par de ellos con
00:24:40
que tengo uno pues directamente terminado de acuerdo que más opciones nosotros podemos tener
00:24:48
¿Os acordáis que nosotros teníamos el pgrep para buscar los identificadores?
00:24:59
Pues nosotros tenemos el mismo comando que pgrep, pero para matar.
00:25:06
Es decir, tenemos el pkill.
00:25:10
Entonces, el pkill va a ser como el killall, pero yo tengo que indicar los id de los procesos.
00:25:12
Entonces, ¿qué le podemos decir en el pkill?
00:25:19
Pues imaginaros que yo tengo cosas como esta.
00:25:23
a ver me voy a conectar al usuario desde manera remota y me voy a conectar como
00:25:30
fernando y aquí con el fernando voy a ejecutar por ejemplo pues un slip yo le
00:25:45
digo oye slip y le digo 10 minutos 11 minutos 12 minutos y 13 minutos vale
00:25:58
entonces si yo aquí, lo que pasa es que me voy a meter como root para que yo lo pueda hacer
00:26:13
porque como es otro usuario necesito privilegio de administración
00:26:18
e imaginaros que yo quiero decirle que quiero que me muestre en el pgrep todo lo que son de sleep
00:26:22
y me muestra esos procesos, si yo le digo el guion l, pues me muestra eso de ahí, de acuerdo
00:26:31
Yo tengo esos procesos que si yo pongo psfax, yo voy a tener por aquí lf, que así me muestra los usuarios, yo voy a tener aquí al usuario Fernando con estos identificadores, ¿de acuerdo?
00:26:40
¿Cómo puedo obtener estos identificadores? Pues hemos visto antes que yo puedo utilizar el comando pgrep para obtener esos identificadores y le digo, oye, quiero el pgrep, quiero los identificadores de proceso del usuario Fernando correspondiente a sleep y me da esos de ahí.
00:27:00
Si quiero ver el nombre de los procesos, ya sabéis que tenemos que poner el guión L.
00:27:23
¿Qué pasa si yo quiero matar esos procesos directamente?
00:27:29
Yo puedo utilizar P, kill, y lo que le voy a decir el P, kill, es decir,
00:27:32
oye, quiero que me mates todos los procesos del usuario, Fernando, todos, ¿eh?
00:27:37
Así me va a matar todos los procesos.
00:27:44
¿Sí? Si yo ahora le digo que me muestre, no me está mostrando nada.
00:27:48
si yo me voy aquí, que ha pasado
00:27:52
que me dice
00:27:54
se me ha quedado bloqueado
00:27:56
me ha echado
00:28:00
si, entonces yo tendría que
00:28:01
abrir otra vez la sesión
00:28:04
y volverme a meter
00:28:06
tenemos el 10
00:28:14
el 11 y el 12
00:28:25
de acuerdo
00:28:27
entonces yo con el pkill
00:28:28
puedo jugar y hacer lo mismo
00:28:30
que hace con el kill, pero en este
00:28:33
caso yo le puedo pasar varios
00:28:35
procesos si a mí me da la gana separados por espacios si acaso lo hacéis de acuerdo
00:28:37
no sé si me faltaba algo del pequeño vale perfecto entonces que podemos ver también del
00:28:47
fijaros que estoy conectado estoy aquí y me dice que fernando está conectado del pts 0 lo veis
00:28:55
pues yo también le puedo decir cosas como esta oye quiero que me mates los que están en el
00:29:03
terminal y le cojo este y le digo oye quiero que todo lo que esté en ese
00:29:08
terminal melo machaques si si yo me voy a directamente me ha cerrado vale me ha
00:29:12
cerrado directamente la consola ahora tendría que abrir otra vez la consola
00:29:23
entonces tendría que abrir otra de la consola porque yo le he hecho que todo
00:29:27
lo que en ese terminal me lo cierre de acuerdo y tendría que abrir otra vez
00:29:33
aquí el fernando entonces opciones que podéis jugar con el comando pekín
00:29:37
este junto con el pekín se llevan de la mano vale se utiliza tanto uno con otro
00:29:48
para utilizarlos dentro de él de los scripts que sepáis que el comando
00:29:54
pekín yo no lo estoy pasando nada pero yo aquí le puedo pasar la señal y yo
00:30:00
Aquí le puedo pasar, oye, SIDKILL, o le puedo pasar SIDTEN, o le pongo el numerito, ¿vale?
00:30:04
Y le pongo aquí el guión 9 o el guión 15.
00:30:11
Le puedo pasar o el nombre de la señal o le puedo pasar el numerito correspondiente a la señal que yo le quiera pasar.
00:30:14
¿De acuerdo?
00:30:22
¿Sí?
00:30:25
Otra cosa que podemos hacer es la siguiente.
00:30:29
Abro un terminal.
00:30:32
Estoy abriendo el terminal como el usuario normal.
00:30:34
Este es el usuario normal e imaginaros que yo hago aquí pues otra vez el sleep y le pongo aquí 15 minutos, uy perdón, que si no no puedo seguir escribiendo y 16 y 17 minutos, ¿vale?
00:30:37
si yo estando como root por ejemplo le digo ps y le pongo aquí el fax por ejemplo si yo me voy
00:30:58
aquí al usuario veis que lo tengo aquí sí entonces mi pregunta es si yo cojo este de aquí fijaros que
00:31:08
El identificador del bus es 23036 y dentro del bus se está ejecutando 3 sleep, 15, 16 y 17.
00:31:27
¿Lo veis?
00:31:38
Yo puedo coger en este caso y decirle lo siguiente.
00:31:40
Quiero coger el 23036.
00:31:46
Lo voy a copiar.
00:31:55
Y yo le puedo decir pkill, le voy a decir la opción "-p", y le voy a decir el identificador.
00:31:59
Si yo le doy, y le vuelvo a decir que quiero que me muestre, o por ejemplo, le voy a pasar el ps3, y le voy a decir "-p", y le digo aquí alumno.
00:32:08
Lo que pasa es que aquí me va a mostrar un montonazo de cosas, y no quiero eso, pero bueno.
00:32:24
Que aquí esté. Ahora no me gusta. Quiero que veáis por aquí que yo sigo teniendo el 23036, pero lo que hay dentro de me lo ha quitado. Repito, yo he ejecutado el 23036, pero no me ha matado el 23026.
00:32:29
si yo ahora aquí le doy al intro
00:32:52
me ha matado los tres hijos
00:32:54
pero el terminal en sí no me lo ha matado
00:32:56
entonces yo tendría que utilizar
00:32:59
el comando kill para matar
00:33:01
en concreto el bus
00:33:03
porque con la opción guión p
00:33:04
lo que le estoy diciendo es que
00:33:07
todo lo que hay contenido dentro
00:33:09
del padre directamente
00:33:10
lo elimine
00:33:13
¿de acuerdo?
00:33:14
mal
00:33:18
y luego por último, y con esto ya
00:33:19
terminamos esta parte
00:33:22
tenemos el comando pido
00:33:23
que es lo que hace este comando
00:33:25
este comando busca el
00:33:29
identificador de un programa que se está
00:33:31
ejecutando
00:33:33
me explico
00:33:34
si nosotros tenemos aquí
00:33:36
el x
00:33:39
size
00:33:41
si yo pongo el pido
00:33:42
y le pongo aquí
00:33:45
del x size
00:33:47
me dice oye este es su
00:33:48
identificador
00:33:51
¿lo veis?
00:33:52
si yo tengo varios
00:33:55
y le digo el p2
00:34:01
pues me muestra a todos
00:34:05
si yo solamente quiero que me retorne
00:34:06
en este caso el último
00:34:13
le pongo el guión s
00:34:15
entonces si vosotros queréis la última instancia del Firefox
00:34:16
para coger el id y para matar solamente la última instancia
00:34:20
porque pensáis que es la que se me ha quedado bloqueada
00:34:24
o que me ha permitido esto, pues tirándome ya
00:34:26
entonces aquí ya podemos eliminar como nos dé la gana
00:34:28
el kill all y le decimos
00:34:32
xice
00:34:35
¿de acuerdo?
00:34:38
entonces simplemente a modo de resumen
00:34:42
para que veamos aquí las opciones que nosotros tenemos
00:34:45
os recuerdo
00:34:51
¿dónde lo tengo? aquí
00:34:53
para las opciones que hemos visto
00:34:59
hemos visto el comando, a ver si puedo escribir
00:35:06
a ver, sí
00:35:12
el pgrep
00:35:13
que me devuelve los identificadores de procesos
00:35:19
de la expresión regular que coincida con la expresión regular
00:35:23
y luego para matar los procesos
00:35:26
hemos visto varios comandos
00:35:28
uno de ellos, el más conocido obviamente
00:35:31
es el kill
00:35:34
que le digo aquí la señal
00:35:36
y el PID del proceso que quiero eliminar
00:35:41
también tenemos el KILL ALL
00:35:45
que yo le puedo poner aquí una expresión regular
00:35:47
y me va a matar todos, pasándole también la señal si quiero
00:35:52
¿de acuerdo?
00:35:56
tengo el PKILL
00:35:58
que este y este van relacionados
00:36:00
¿de acuerdo?
00:36:05
Y teníamos también, que no sé si me queda alguno, el último, que era el PIDOFF, que se me había olvidado, que me devuelve el identificador del programa que yo le indique que se esté ejecutando.
00:36:07
Entonces, estos tres de aquí son los que se utilizan para terminar un proceso o terminar o enviarle una señal. La señal correspondiente que hemos visto, la 9, la 15, el stop y el continue, que son las que a mí por ahora me interesa que sepáis.
00:36:33
¿De acuerdo? Entonces ya podemos ejecutar procesos, sabemos gestionarlos, sabemos ver su información y sabemos matarlos. ¿Qué nos queda ver? Pues nos queda ver cómo podemos gestionar la monitorización de dichos procesos. Pues eso es lo que vamos a ver en el siguiente vídeo. Venga, un saludo.
00:36:53
- Idioma/s:
- Autor/es:
- Fernando Herrero Núñez
- Subido por:
- Fernando Jesús H.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 21
- Fecha:
- 1 de enero de 2022 - 13:02
- Visibilidad:
- Público
- Centro:
- IES EL CAÑAVERAL
- Duración:
- 37′ 15″
- Relación de aspecto:
- 1.85:1
- Resolución:
- 1920x1040 píxeles
- Tamaño:
- 105.23 MBytes