我使用 CentOS,在执行后台任务时遇到了一些困难
当运行类似 updatedb 命令的程序时,我按下 CTRL+Z,它不会在后台运行,而是立即显示
[1]+ Stopped updatedb
我认为这意味着任务已经停止了,这让我有点不高兴,我以为 CTRL+Z 会将任务发送到后台而不是停止它。
然后我使用 bg 命令并返回
[1]+ updatedb &
然后看起来任务在后台继续执行,但问题是如果任务有一些标准输出,它将显示在显示屏上!这使得命令 shell 几乎毫无用处。
我知道我可以将标准输出重定向到文件或 dev null 或类似的东西,但为什么要这么费力地完成一个简单的任务呢?有什么更好的方法可以做到同样的事情吗?
我的意思是不要在命令末尾添加 &,而是仅将当前进程发送到后台,这样在 CentOS 中就不会很烦人了?
答案1
您可以使用 screen 或 tmux。它们允许您使用虚拟终端。
因此,您可以在终端中启动 updatedb 并继续在另一个虚拟终端中工作。