在bash中将正在运行的程序移动到后台

Kal*_*mér 11 bash

如果我在 bash 中运行一个程序,我可以通过按Ctrl+来暂停它Z。如果我想让程序继续运行,我可以使用该bg命令。有没有什么办法可以直接把程序放到后台,不用输入bg

澄清:我想在程序已经运行时将其置于后台,而不是挂起它。

ign*_*ite 5

我认为不可能将正在运行的程序移至后台(当进程仍处于运行状态时)。
然而,有一个名为GNU-Screen 的应用程序,使用它您可以在单个终端中运行任意数量的基于控制台的应用程序 - 交互式命令 shell、基于curses 的应用程序、文本编辑器等。
这是关于 GNU-Screen 的一个很好的教程
请注意,它并不完全符合您的要求,但无论如何都能达到目的。
示例:
这是使用 GNU-Screen 实现您所要求的内容。

  1. 运行screen
    您将获得有关该软件的详细信息。按回车键。
  2. 现在,您将看到正常的终端。但是它是一个屏幕窗口。输入任何命令说vlc。它将在该窗口内启动该过程。
  3. 现在要打开一个新窗口,请键入Ctrl+ A,然后C键入 +。您可以在此处运行新命令。请注意,您在窗口 1 中启动的进程仍在运行。
  4. 要从屏幕分离,请按Ctrl+ A,然后按D。您现在返回到旧终端。但是,您从屏幕启动的任何进程仍将运行。