如何在 Centos 中后台运行某些程序

如何在 Centos 中后台运行某些程序

我使用 CentOS,在执行后台任务时遇到了一些困难

当运行类似 updatedb 命令的程序时,我按下 CTRL+Z,它不会在后台运行,而是立即显示

[1]+  Stopped                 updatedb

我认为这意味着任务已经停止了,这让我有点不高兴,我以为 CTRL+Z 会将任务发送到后台而不是停止它。

然后我使用 bg 命令并返回

[1]+ updatedb  &

然后看起来任务在后台继续执行,但问题是如果任务有一些标准输出,它将显示在显示屏上!这使得命令 shell 几乎毫无用处。

我知道我可以将标准输出重定向到文件或 dev null 或类似的东西,但为什么要这么费力地完成一个简单的任务呢?有什么更好的方法可以做到同样的事情吗?

我的意思是不要在命令末尾添加 &,而是仅将当前进程发送到后台,这样在 CentOS 中就不会很烦人了?

答案1

您可以使用 screen 或 tmux。它们允许您使用虚拟终端。

因此,您可以在终端中启动 updatedb 并继续在另一个虚拟终端中工作。

http://tmux.sourceforge.net/

http://www.gnu.org/software/screen/

相关内容