如何在 Linux 中恢复已停止的作业?

如何在 Linux 中恢复已停止的作业?

如何在 Linux 中恢复已停止的作业?我当时正在使用 emacs,不小心按了 ctrl-z,结果回到了控制台。输入“jobs”时我可以看到它

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

答案1

命令fg就是你想使用的。如果有多个停止的作业,你也可以给它一个作业编号。

答案2

Linux中常用的作业控制命令有:

  • 工作- 列出当前的工作
  • 韋克- 恢复队列中的下一个任务
  • fg %[数字]- 恢复工作 [number]
  • 背景- 将队列中的下一个作业推送到后台
  • bg %[数字]- 将作业 [number] 推送到后台
  • 杀死 %[数字]- 杀死编号为 [number] 的作业
  • kill -[信号] %[数字]- 向作业编号 [number] 发送信号 [signal]
  • 放弃 %[number]- 放弃该进程(不再有终端成为所有者),因此即使关闭终端后命令仍将继续存在。

这些就是全部了。请注意命令中作业编号前面的 % - 这告诉 kill 你正在谈论的是作业而不是进程。

答案3

您也可以输入%<process_name>;即,在 emacs 中按 Ctrl-Z,然后您可以%emacs在控制台中输入并将其带回到前台。

答案4

如果您没有从当前终端启动它,请使用ps aux | grep <process name>查找进程号(pid),然后使用以下命令恢复它:

kill -SIGCONT <pid>

(尽管名字如此,但kill它只是一个向进程发送信号的工具,允许进程相互通信。“终止信号”只是众多标准信号之一。)

额外提示:用 包装进程名称的第一个字符,以[]防止grep命令本身出现在结果中。例如,要查找emacs进程,请使用ps aux | grep [e]macs

相关内容