¿Por qué no veo el proceso de suspensión?

¿Por qué no veo el proceso de suspensión?

Creé el primer terminal, luego utilicé "sleep 1000 &" y lo encontré en "ps". El problema es que cuando creo el segundo terminal y pongo "ps", no hay proceso de suspensión. Quiero saber por qué ?

ingrese la descripción de la imagen aquí(mi tarea dice "pista: columna TTY")

Respuesta1

De forma predeterminada, pssolo muestra los procesos adjuntos al terminal actual (tty): en su caso, su shell y psél mismo (ambos en pts/2). Debe eliminar esta restricción para ver sleep; Por ejemplo

ps -e

Consulte man pslas numerosas opciones disponibles para filtrar procesos.

Respuesta2

El problema es que cuando creo la segunda terminal y pongo "ps", no hay ningún sleepproceso.

Con algunos (no todos) shells interactivos, sleep podría ser un shell incorporado que invoque, por ejemplodormir(3)(exactamente como lo cd es un shell incorporado que invocachdir(2)).

Cuando ese sea el caso, no verás ningunasleep procesoporque no hay ninguno. El proceso que luegodormir(3)-ing es tushell Unix; incluso podrías escribir tu propio intérprete de shell (mirafajapara un ejemplo fácil pero con algunos errores).

Muchos shells de Linux sonfuente abiertasoftware (osoftware libre), así que estudie su código fuente para saber si llamandormir(3)onosotrosdormir(3)-o incluso apropiadamenteencuesta(2), etc...- Ver tambiéntiempo(7)yseleccionar_tut(2). Leer más sobrellamadas al sistema (2)y piensa en los que hace tu caparazón (u obsérvalos conrastro(1)otraza(1)o un depurador).

Muchas distribuciones de Linux tienenfiesta GNUcomo el shell interactivo habitual. Pero podrías instalarzshopezoescomo su shell de inicio de sesión (conchash(1)).

Mi preferencia personal es zsh(cuyoautocompletadoLas instalaciones de Debian son excepcionales).

Considere leer algunoslibro de texto sobreSistemas operativosy/o codificando el tuyo propioshell Unixcomo ejercicio, o ampliando alguno existente (por ejemplo, añadiendo un sleepcomponente incorporado, si no lo tiene).

información relacionada