📜  zsh 静默 backgrousd 任务输出 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:48:43.370000             🧑  作者: Mango

zsh 静默 background 任务输出 - Shell-Bash

在Shell-Bash编程中,我们经常需要运行一些静默background 任务,而这些任务的输出我们有时候并不关心,甚至会干扰我们的工作。那么如何让这些background任务静默输出呢?下面让我们来介绍这个问题的解决方法。

1. 使用>/dev/null

在运行background任务时,我们可以使用>/dev/null命令,将任务的输出重定向到空设备中,从而实现静默输出的效果。

command >/dev/null 2>&1 &

其中的2>&1表示将标准错误输出也重定向到标准输出,使得错误信息也能被重定向到空设备中。

2. 使用nohup命令

我们还可以使用nohup命令来运行background任务,这样任务的输出就会被记录在当前目录的nohup.out文件中,而不会在Shell中输出。使用nohup命令的格式如下:

nohup command >/dev/null 2>&1 &

同样地,我们也需要使用>/dev/null命令将任务的标准输出和标准错误输出重定向到空设备中。

3. 使用disown命令

最后,我们还可以使用disown命令来实现background任务的静默输出。disown命令可以将任务移出当前Shell的进程组,使得任务不再受当前Shell的控制,从而达到静默输出的效果。使用disown命令的格式如下:

command >/dev/null 2>&1 &
disown %1

其中%1表示最近一个background任务的作业号,可以使用jobs命令查看。

以上就是在Shell-Bash中实现background任务的静默输出的方法,希望能帮助到大家。