使用nohup top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr &终端输出top -d 10 > /dev/slog2/stdout 2> /dev/slog2/stderr &为什么
时间: 2023-07-11 19:42:09 浏览: 49
在 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` 放到后台运行,避免被终端的控制机制终止。希望这个解决方法能够帮到您!
相关问题
nohup node app.js >/dev/null 2>&1 &
nohup是一个在Unix和Linux系统中使用的命令,它可以让你在终端关闭后继续运行一个程序。node是一个用于运行JavaScript代码的平台,而app.js是一个Node.js应用程序的入口文件。">/dev/null 2>&1"是将标准输出和标准错误输出都重定向到/dev/null,这样可以将输出信息丢弃。最后的"&"符号表示将程序放到后台运行。
所以,"nohup node app.js >/dev/null 2>&1 &"这个命令的作用是在后台运行一个Node.js应用程序,并且将输出信息丢弃,使得程序在终端关闭后仍然可以继续运行。
nohup java -jar XXX.jar > /dev/null 2>&1 &
您好!对于您的问题,这是一个常见的命令行操作,它用于在后台运行一个 Java 可执行文件,并将输出重定向到 /dev/null,以便将所有输出都丢弃。这样做可以确保程序在后台运行而不会产生任何终端输出。
具体来说,这个命令可以分解为以下几个部分:
- `nohup`:这是一个命令,它可以使程序在后台运行,并且即使关闭终端也不会被中断。
- `java -jar XXX.jar`:这是要运行的 Java 可执行文件的命令。您需要将 `XXX.jar` 替换为实际的文件名。
- `> /dev/null`:这是将标准输出重定向到 /dev/null 的部分。/dev/null 是一个特殊的设备文件,它会丢弃所有写入它的数据。
- `2>&1`:这是将标准错误(stderr)重定向到标准输出(stdout)的部分。这样可以确保所有输出都被重定向到 /dev/null。
- `&`:这个符号表示将命令放入后台运行。
综上所述,该命令的作用是在后台运行名为 XXX.jar 的 Java 可执行文件,并将输出丢弃。
请注意,这只是一个解释,并不能保证命令的正确性。在实际使用时,请根据您的需求和环境进行适当的调整。