creacion_de_trabajos_en_texto-plano

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
creacion_de_trabajos_en_texto-plano [2021/11/14 23:27] peroncreacion_de_trabajos_en_texto-plano [2023/03/23 22:02] (actual) peron
Línea 1: Línea 1:
 ====== ¿Cómo creo trabajos y los administro en la terminal de texto-plano? ====== ====== ¿Cómo creo trabajos y los administro en la terminal de texto-plano? ======
  
 +Texto-plano.xyz es un [[pubnix|centro de cómputo]] muy pequeño. Dispone de OpenBSD, un sistema operativo multiusuario y multitarea similar a [[UNIX]], derivado de la [[bsd|Distribución de Software de la Universidad de Berkeley (BSD)]]. Podrás usarlo para realizar múltiples acciones al unísono, destinando a ello la potencia de cómputo de la Unidad Central de Proceso remota.
 +
 +Como esta CPU es compartida entre todos los usuarios de Texto-Plano.xyz, todo cómputo que se lleve a cabo en el entorno debe realizarse de una sola manera: ¡con responsabilidad Comunitaria y Organización!
  
 Este artículo propone un tutorial sencillo con ejemplos para aprender. Este artículo propone un tutorial sencillo con ejemplos para aprender.
Línea 6: Línea 9:
 ===== Introducción ===== ===== Introducción =====
  
- +Las tareas que se pueden realizar en el sistema se llaman **Trabajos** (en inglés, //jobs//).
-Texto-plano.xyz es un centro de cómputo muy pequeño. Dispone de OpenBSD, un sistema operativo multiusuario y multitarea similar a UNIX, derivado de la Distribución de Software de la Universidad de Berkeley (BSD). Podrás usarlo para realizar múltiples acciones al unísono, destinando a ello la potencia de cómputo de la Unidad Central de Proceso remota. +
- +
-Como esta CPU es compartida entre todos los usuarios de Texto-Plano.xyz, todo cómputo que se lleve a cabo en el entorno debe realizarse de una sola manera: ¡con responsabilidad Comunitaria y Organización! +
- +
-Las tareas que se pueden realizar en el sistema se llaman "trabajos" (en inglés, jobs).+
  
 Estos trabajos pueden consistir en la ejecución de: Estos trabajos pueden consistir en la ejecución de:
    
   -     un comando único   -     un comando único
-  -     varios comandos únicos encadenados por medio de caños (en inglés, "pipes" ("|")+  -     varios comandos únicos encadenados por medio de [[tutorial basico de la consola#caños|caños]] (en inglés, "pipes" ("''|''")
   -     programas interactivos.   -     programas interactivos.
  
-En los sistemas similares a UNIX, podrás desactivar o activar un trabajo o programa activo, mediante el uso de la combinación de teclas Ctrl+z. Al hacerlo así, se detendrá la ejecución del trabajo en curso en tu terminal, y se lo enviará a un segundo plano ("background" o "bg"), reservándole memoria del sistema. Esto te devolverá nuevamente al intérprete de comandos.+En los sistemas similares a UNIX, podrás desactivar o activar un trabajo o programa activo, mediante el uso de la combinación de teclas **Ctrl+z**. Al hacerlo así, se detendrá la ejecución del trabajo en curso en tu terminal, y se lo enviará a un segundo plano ("background" o "bg"), reservándole memoria del sistema. Esto te devolverá nuevamente al [[interpretes_de_comandos|intérprete de comandos]].
  
-====== practicar ======+====== ¡A practicar======
  
  
 ===== Ejecutar un programa interactivo ===== ===== Ejecutar un programa interactivo =====
  
 +Usaremos para esta práctica un programa interactivo, por ejemplo el editor de texto [[nano|GNU Nano]]. Para ejecutarlo introduce en la terminal:
  
- 
- 
- 
- 
- 
-Usaremos para esta práctica un programa interactivo, por ejemplo el editor de texto GNU Nano. Para ejecutarlo introduce en la terminal: 
 <code> <code>
 nano nano
 </code> </code>
-El programa interactivo Nano se cargará en la memoria del sistema remoto, y se te presentará en la pantalla de tu terminal (a esta acción se le dice "ejecutar" o "correr" un programa). 
-==== Uso de GNU Nano ==== 
  
 +El programa interactivo //Nano// se cargará en la memoria del sistema remoto, y se te presentará en la pantalla de tu terminal (a esta acción se le dice "ejecutar" o "correr" un programa).
 +
 +==== Enviar un programa a segundo plano ====
  
  
 +Podrás usar el [[nano|editor Nano]] para escribir, ya que tiene un manejo bastante sencillo. Nano emplea atajos de teclas para activar sus diferentes opciones internas. Estas son recordadas en la parte inferior de la pantalla. Por ejemplo, **Ctrl+o** para guardar y **Ctrl+x** para salir.
  
-Podrás usar el editor Nano para escribir, ya que tiene un manejo bastante sencillo. Nano emplea atajos de teclas para activar sus diferentes opciones internas. Estas son recordadas en la parte inferior de la pantalla. Por ejemplo, **Ctrl+o** para guardar y **Ctrl+x** para salir. +=== Enviar un trabajo en plena ejecución a segundo plano ===
-Suspender un trabajo+
  
-Si estás corriendo un trabajo (en este caso escribir con el editor de textos GNU Nano), y presionas la combinación de teclas Ctrl+z, el trabajo de GNU Nano se suspenderá y el sistema te devolverá al intérprete de comandos, presentándote un mensaje similar al siguiente:+Si estás corriendo un trabajo (en este caso escribir con el editor de textos GNU Nano), y presionas la combinación de teclas **Ctrl+z**, el trabajo de GNU Nano se **suspenderá** y el sistema te devolverá al intérprete de comandos, presentándote un mensaje similar al siguiente:
 <code> <code>
 Use «fg» para volver a nano. Use «fg» para volver a nano.
 [1]+  Suspendido            nano [1]+  Suspendido            nano
 </code> </code>
-Los trabajos suspendidos quedan preservados en la memoria de nuestro sistema remoto, y se dice de ellos que permanecen en suspendidos en "segundo plano" (en inglés, "background" o bg).+ 
 +Los trabajos suspendidos quedan preservados en la memoria de nuestro sistema remoto, y se dice de ellos que permanecen suspendidos en "**segundo plano**" (en inglés, "background"**bg**).
  
 Podrías realizar ahora otros trabajos independientes en el intérprete de comandos. Podrías realizar ahora otros trabajos independientes en el intérprete de comandos.
  
-En el momento que desees recuperar en tu terminal el trabajo previamente suspendido que se encuentra en segundo plano, deberás traerlo al primer plano ("fgo "foreground"). Esto se hace con el comando:+===Traer un trabajo suspendido a primer plano === 
 +En el momento que desees recuperar en tu terminal el trabajo previamente suspendido que se encuentra en segundo plano, deberás traerlo al primer plano (**fg** o "foreground"). Esto se hace con el comando: 
 <code> <code>
 fg fg
 </code> </code>
 +
 Esto recuperará de memoria el trabajo anterior y lo presentará en la terminal tal como lo habías dejado. Esto recuperará de memoria el trabajo anterior y lo presentará en la terminal tal como lo habías dejado.
  
 Vuelve a presionar **Ctrl+z** para suspender Nano y retornar al intérprete de comandos. Vuelve a presionar **Ctrl+z** para suspender Nano y retornar al intérprete de comandos.
  
-Es útil saber que podríamos directamente colocar un trabajo en la cola de trabajos en el momento que ejecutamos su comando. Para ello se le agregamos el sufijo &.+=== Enviar a segundo plano un trabajo === 
 + 
 +Es útil saber que también podrás colocar un trabajo directamente en la cola de trabajos, incluso antes de que se encuentre en plena ejecución. Para ello se le agregamos el sufijo **&**.
  
 Por ejemplo: Por ejemplo:
 +
 <code> <code>
 top & top &
 </code> </code>
-Esto iniciará top pero lo hará en el segundo plano. Top es una aplicación de UNIX que es muy utilizada para conocer los trabajos y procesos utilizados en todo el sistema de cómputo. Podrás usarla para ver el uso general de texto-plano.xyz. 
-===== Cola de trabajos ===== 
  
 +Esto iniciará //top// pero lo hará directamente en segundo plano. Top es una aplicación de UNIX que es muy utilizada para conocer los trabajos y procesos utilizados en todo el sistema de cómputo. Podrás usarla para ver el uso general de texto-plano.xyz.
  
 +===== Cola de trabajos =====
  
 Ten presente que si ejecutas varios programas interactivos y los abandonas, podríamos encontrarnos con múltiples trabajos suspendidos en segundo plano. En dicho caso, cada uno de ellos recibirá un identificador en la llamada "cola de trabajos". Ten presente que si ejecutas varios programas interactivos y los abandonas, podríamos encontrarnos con múltiples trabajos suspendidos en segundo plano. En dicho caso, cada uno de ellos recibirá un identificador en la llamada "cola de trabajos".
  
-La cola de trabajos es precisamente una lista o tabla donde cada usuario podrá observar y gestionar el número de orden de los trabajos que tiene en segundo plano. Podrás verla mediante el comando: +Esta //cola de trabajos// es precisamente una lista o tabla donde cada usuario podrá observar y gestionar el número de orden de los trabajos que tiene en segundo plano. Podrás verla mediante el comando: 
-<code>+ 
 +<code bash>
 jobs jobs
 </code> </code>
 +
 ...a lo cual el intérprete de comandos presentará en la terminal tu cola de trabajos que tienes en texto-plano.xyz: ...a lo cual el intérprete de comandos presentará en la terminal tu cola de trabajos que tienes en texto-plano.xyz:
 +
 <code> <code>
 [1]  - suspended (signal)  nano [1]  - suspended (signal)  nano
 [2]  + suspended (tty output)  top [2]  + suspended (tty output)  top
 </code> </code>
-Se presentará en esta cola de trabajos el status de los mismos, y entre corchetes, en orden de suspensión. 
  
-Si necesitas contar con mayor detalles, podrías recurrir a la forma más larga y explícita de la cola de trabajos mediante el comando jobs -l, que te proporcionará también el identificador de trabajo y el motivo de la detención.+Se presentará en esta cola de trabajos el //status// de los mismos, y entre corchetes, su //número de orden de suspensión//
 + 
 +Si necesitas contar con mayor detalles, podrías recurrir a la forma más larga y explícita de la cola de trabajos mediante el comando **jobs -l**, que te proporcionará también el identificador de trabajo y el motivo de la detención. 
 <code> <code>
 [1]  - 21510 suspended (signal)  nano [1]  - 21510 suspended (signal)  nano
 [2]  + 71490 suspended (tty output)  top [2]  + 71490 suspended (tty output)  top
 </code> </code>
-Si deseas traer un trabajo a primer plano y cuentas con múltiples trabajos suspendidos en el segundo plano, será necesario que le especifiques al intérprete de comandos cuál trabajo quieres traer al primer plano mediante el número de orden de suspensión. El comando que deberías utilizar es fg %. Por ejemplo, si quisiéramos traer top a primer plano usaríamos:+ 
 +==== Traer programas a primer plano ==== 
 + 
 +Si deseas traer un trabajo a primer plano y cuentas con múltiples trabajos suspendidos en el segundo plano, será necesario que le especifiques al intérprete de comandos cuál trabajo de la cola de cola de trabajos quieres traer al primer plano mediante el //número de orden de suspensión//. El comando que deberías utilizar es **fg %**. Por ejemplo, si quisiéramos traer top a primer plano usaríamos: 
 <code> <code>
 fg %2 fg %2
 </code> </code>
-Se presentará en tu terminal la aplicación top, que detalla el uso del sistema de cómputo, pero también un listado que informa quién usa qué programa y proceso, y qué orden de ejecución tiene éste en texto-plano.xyz. Esta lista se actualiza constantemente cada pocos segundos.+ 
 +Se presentará en tu terminal la aplicación //top//, que detalla el uso del sistema de cómputo, pero también un listado que informa quién usa qué programa y proceso, y qué orden de ejecución tiene éste en texto-plano.xyz. Esta lista se actualiza constantemente cada pocos segundos.
  
 Si bien podríamos cerrar y salir del programa con la **tecla q**, por ahora, dejarás suspendido top mediante la combinación **Ctrl+z**. Si bien podríamos cerrar y salir del programa con la **tecla q**, por ahora, dejarás suspendido top mediante la combinación **Ctrl+z**.
 +
 ==== Quitar programas de la cola de trabajos ==== ==== Quitar programas de la cola de trabajos ====
  
 +Para quitar los programas de la memoria mientras están en ejecución, se suele usar la combinación **Ctrl+c**. Normalmente esto detiene el programa, lo elimina de la memoria, y naturalmente lo quita de la cola de trabajos. Ten en cuenta que **Ctrl+c** funciona en la mayoría de los programas interactivos, pero no en todos ellos.
  
-Para quitar los programas de la memoria mientras están en ejecución, se suele usar la combinación Ctrl+c. Normalmente esto detiene el programa, lo elimina de la memoria, naturalmente lo quita de la cola de trabajos. Ten en cuenta que Ctrl+c funciona en la mayoría de los programas interactivospero no en todos ellos.+Si quisiéramos eliminar de memoria y de la cola de trabajos uno de nuestros trabajos (ya sea que esté detenido o en ejecución), podremos hacerlo mediante el comando ''kill %'' seguido del número de orden de trabajo. En este ejemplopodrás cerrar //top// con:
  
-Si quisiéramos eliminar de memoria y de la cola de trabajos uno de nuestros trabajos (ya sea que esté detenido o en ejecución), podremos hacerlo mediante el comando kill % seguido del número de órden de trabajo.En este ejemplo, podrás cerrar top con: 
 <code> <code>
 kill %2 kill %2
 </code> </code>
-El sistema exterminará el trabajo de top y lo reportará en tu terminal.+ 
 +El sistema exterminará el trabajo de //top// y lo reportará en tu terminal.
 <code> <code>
 [2]  + terminated  top [2]  + terminated  top
 </code> </code>
-Este es buen momento para distinguir un hecho importante. Si en lugar de emplear fg para traer un trabajo al primer plano, corres nuevamente el mismo trabajo por segunda vez (en este caso podría ser nuevamente Nano), no recuperarás el primero que ya tienes detenido en memoria, sino que procederás a cargar una nueva instancia de Nano "desde cero" e independiente de la anterior, la cual se presentará en la terminal.+ 
 +Este es buen momento para distinguir un hecho importante. Si en lugar de emplear **fg** para traer un trabajo al primer plano, corres nuevamente el mismo trabajo por segunda vez (en este caso podría ser nuevamente //Nano//), no recuperarás el primero que ya tienes detenido en memoria, sino que procederás a cargar una nueva instancia de //Nano// "desde cero" e independiente de la anterior, la cual se presentará en la terminal.
  
 Lo practicarás ingresando nuevamente: Lo practicarás ingresando nuevamente:
 +
 <code> <code>
 nano nano
 </code> </code>
-Por este motivo, al suspender esta instancia nueva de Nano con Ctrl+z podrás encontrar dos Trabajos independientes de nano el pedir la cola de trabajos con el comando jobs:+ 
 +Por este motivo, al suspender esta instancia nueva de //Nano// con **Ctrl+z** podrás encontrar dos Trabajos independientes de //nano// el pedir la cola de trabajos con el comando **jobs**: 
 <code> <code>
 [1]  - suspended (signal)  nano [1]  - suspended (signal)  nano
 [2]  + suspended (signal)  nano [2]  + suspended (signal)  nano
 </code> </code>
-Puede abrir alguna de estas instancias de nano listadas en la cola con **fg %1** o **fg %2**. Puedes abandonarlas como quieras (normalmente utilizando la combinación **Ctrl+x** en GNU Nano). 
  
-O bien puedes eliminarlas desde el intérprete, en este ejemplo con kill %1 y kill %2.+Puede abrir alguna de estas instancias de //nano// listadas en la cola con ''fg %1'' o ''fg %2''. Puedes abandonarlas como quieras (normalmente utilizando la combinación **Ctrl+x** en GNU Nano). 
 + 
 +O bien puedes eliminarlas desde el intérprete, en este ejemplo con ''kill %1'' ''kill %2''.
  • creacion_de_trabajos_en_texto-plano.1636932473.txt.gz
  • Última modificación: 2021/11/14 23:27
  • por peron