Pregunta ¿Cómo puedo reanudar un trabajo detenido en Linux?


¿Cómo puedo reanudar un trabajo detenido en Linux? Estaba usando emacs y accidentalmente presioné ctrl-z, que me envió de nuevo a la consola. Puedo verlo cuando escribo 'trabajos'

[*****]$ jobs
[1]+  Stopped                 emacs test_queue.cpp

290


origen


Este es en realidad un flujo de trabajo bastante normal para Vim, si quieres mantenerte los comandos en tu historial de bash, entonces golpeas Ctrl-z escribe tus comandos y luego reanuda. Obviamente, puedes ejecutar comandos sin dejar Vim a través del :! comando ed - icc97


Respuestas:


El comando fg es lo que quieres usar También puede darle un número de trabajo si hay más de un trabajo detenido.


328



para referencia, fg es "primer plano". También puede continuar el trabajo en segundo plano con "bg". - Sirex


Los comandos generales de control de trabajos en Linux son:

  • trabajos - enumere los trabajos actuales
  • fg - reanudar el trabajo que está próximo en la cola
  • fg% [número] - reanudar trabajo [número]
  • bg - Presione el siguiente trabajo en la cola en el fondo
  • bg% [número] - Empujar el trabajo [number] al fondo
  • matar% [número] - Mata el trabajo numerado [número]
  • matar - [señal]% [número] - Enviar la señal [señal] al número de trabajo [número]
  • repudiar% [número] - Desconocer el proceso (no más propietarios serán propietarios), por lo que el comando estará activo incluso después de cerrar la terminal.

Eso es más o menos todos. Tenga en cuenta el% delante del número de trabajo en los comandos: esto es lo que le dice a matar que está hablando de trabajos y no de procesos.


227



Evito "kill% 1" porque escribirlo mal como "kill 1" es realmente muy malo :) - barrycarter
@barrycarter Eso es muy cierto. Usualmente hago un fg y un Ctrl-C ;) - Majenko
@barry: Por eso init en Upstart ignora SIG {TERM, KILL} de forma predeterminada. - Hello71
Y, por supuesto, "nunca ejecutar como root";) - barrycarter


También puedes escribir %<process_name>; es decir, presionas Ctrl-Z en emacs, luego puedes escribir %emacs en la consola y traerlo de vuelta al primer plano.


44



Muy bueno saber - ZAD-Man


Solo para agregar a las otras respuestas, intento te permite saltearte fg si especifica un número de trabajo.

Por ejemplo, estos son equivalentes y reanudan el último trabajo:

%
%%
fg
fg %

Estos reanudan el trabajo # 4:

%4
fg 4

28



Si bien esto es genial, todavía me resulta más fácil escribir fg que %. - rr-
% es increíble, gracias! Como mecanógrafo táctil, me parece fg muy irritante (mismo dedo). Pero entonces, también lo es cd. - Gauthier
Y puedes comenzar en segundo plano con cualquiera bg % o solo % &. - Wildcard


Si no lo inició desde la terminal actual, use ps aux | grep <process name> para encontrar el número de proceso (pid), luego reiniciarlo con:

kill -SIGCONT <pid>

12



Esto también funciona si rechazas un proceso detenido - mabraham