Saltar al contenido

¿Cuál es la definición de una “sesión” en Linux?

Verificamos cada noticia de nuestro espacio con la meta de enseñarte en todo momento información veraz y certera.

Solución:

Session generalmente se refiere a sesiones de shell. Un caparazón es lo que le permite interactuar con la computadora. Actúa como un puente entre el usuario y el kernel. Cada vez que ejecuta un comando, es el shell el que captura su intención y le dice al kernel que haga lo suyo.

En la mayoría de las variantes de Linux, el shell predeterminado es bash y un nuevo bash La sesión se iniciará cada vez que abra un nuevo terminal. en la salida de w que publicaste, parece que tienes tu sesión de inicio de sesión gráfica (parece que estás saliendo de la máquina):

argento  :0        18set13 ?xdm?   2days  1.58s gdm-session-worker [pam/gdm-password]

Algunos emuladores de terminal abiertos:

argento  pts/0     18set13 29:26m  5:26   5:26  rdesktop -g 1200x700 -u administrator -p XXXXXXXXX -d DOMAIN -K srv-wsus
argento  pts/1     18set13  9days  0.16s  0.16s /bin/bash
argento  pts/2     lun10    5.00s  0.09s  7.55s /usr/bin/python /usr/bin/terminator
argento  pts/3     14:40   33:41   0.09s  0.03s vim notes.txt
argento  pts/4     gio12   26:04m  0.10s  7.55s /usr/bin/python /usr/bin/terminator
argento  pts/5     14:56   17:33   0.11s  0.11s /bin/bash

Y también parece haber iniciado sesión desde un tty no gráfico:

argento  tty2      15:11    1:01   0.09s  0.09s -bash

Cada uno de estos es una instancia separada de su shell y cada uno cuenta como su propia sesión.

1. Aunque el usuario inicia sesión en un solo proceso (shell, que es su interfaz de línea de comandos), los usuarios terminan ejecutando muchos procesos como resultado de acciones como:

-> Ejecutar tareas no interactivas en segundo plano.
-> Cambiar entre tareas interactivas a través del control de trabajos.
-> Inicio de múltiples procesos que funcionan juntos a través de tuberías.
-> Ejecutar un sistema de ventanas como el sistema de ventanas X que permite abrir múltiples ventanas de terminal.

2. Para manejar todos estos procesos, el núcleo necesita formar grupos de procesos que formen parte de estos procesos.

3. Para administrar estos grupos de procesos aún más según el usuario, estos grupos se dividen según el usuario en sesiones. (Tenga en cuenta que aquí el usuario no es un usuario de Linux, pero shell o terminal significa usuario. Dos terminales en la misma máquina iniciada por el mismo usuario de Linux significa 2 usuarios diferentes y, por lo tanto, 2 sesiones de usuario diferentes aquí. Un terminal puede controlar el terminal solo para una sola sesión).
El proceso que ejecuta shell para ese “usuario” o sesión se conoce como líder de sesión.

4. También tenga en cuenta que cerrar la terminal presionando el botón ‘x’ no lo hará salir de esa terminal. Ese terminal sigue ejecutándose en segundo plano. Si desea volver a la sesión desde la terminal, debe cerrar la sesión desde allí presionando CTRL+D o salir.

5. Al cerrar sesión en la terminal, el kernel envía una señal SIGHUP (similar a kill -1) al proceso que es el líder de la sesión. Ahora todos los demás procesos que se ejecutan en la terminal son secundarios de este líder de sesión. Estos procesos secundarios habían formado grupos de procesos que están controlados por este proceso líder de sesión (proceso principal).

6. El proceso líder de la sesión envía SIGHUP a cada proceso secundario, algunos procesos terminan, mientras que otros pueden optar por no terminar (aquellos suspendidos o ejecutándose en segundo plano). Aquellos que eligen no terminar quedan huérfanos como sesiones superadas y son adoptados inmediatamente por el proceso de inicio (principal de todos los procesos en la máquina Linux).

Para obtener más información, consulte el enlace El modelo de proceso de desarrollo de Linux

Creo que cada sesión de terminal es una sesión de usuario. Puede tener más de una terminal en X y esas son terminales virtuales, o puede tener una terminal real en la consola. Esas son todas las sesiones. Esta es mi ‘w’

$ w
 15:14:13 up 9 days,  6:02,  8 users,  load average: 1,03, 1,19, 1,31
USER     TTY        [email protected]   IDLE   JCPU   PCPU WHAT
argento  :0        18set13 ?xdm?   2days  1.58s gdm-session-worker [pam/gdm-password]
argento  pts/0     18set13 29:26m  5:26   5:26  rdesktop -g 1200x700 -u administrator -p XXXXXXXXX -d DOMAIN -K srv-wsus
argento  pts/1     18set13  9days  0.16s  0.16s /bin/bash
argento  pts/2     lun10    5.00s  0.09s  7.55s /usr/bin/python /usr/bin/terminator
argento  pts/3     14:40   33:41   0.09s  0.03s vim notes.txt
argento  pts/4     gio12   26:04m  0.10s  7.55s /usr/bin/python /usr/bin/terminator
argento  pts/5     14:56   17:33   0.11s  0.11s /bin/bash
argento  tty2      15:11    1:01   0.09s  0.09s -bash

La segunda columna muestra el tty, como puede ver, los pts son xterm (terminal virtual), el otro (tty2) es un inicio de sesión en la consola.

Reseñas y calificaciones

Si eres capaz, eres capaz de dejar un ensayo acerca de qué le añadirías a esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *