使用nohup top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr &终端输出top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr &为什么
时间: 2023-07-11 09:42:09 浏览: 100
linux常用命令大全tion-model-for-netw开发demo
在 QNX 系统中,使用 `nohup top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr &` 命令时,终端会输出 `top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr &` 的信息,这是因为命令解释器在解析命令时,会先将 `>` 和 `2>` 等符号进行重定向操作,将标准输出和标准错误输出重定向到指定的文件中,然后再执行 `top -d 10` 命令。
因此,终端会先输出重定向的命令,再执行 `top -d 10` 命令。为了避免这种情况,可以使用 `nohup` 命令和子shell的方式来执行命令,例如:
```
nohup sh -c 'top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr' >/dev/null 2>&1 &
```
这样,终端就不会输出 `top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr &` 的信息了,同时也能够将 `top -d 10` 放到后台运行,避免被终端的控制机制终止。希望这个解决方法能够帮到您!
阅读全文