为什么执行 top -d 60 > top.log & 终端输出# top -d 60 > top.log &
时间: 2024-03-18 22:40:59 浏览: 21
在执行 `top -d 60 > top.log &` 命令时,终端会输出 `# top -d 60 > top.log &` 的信息,这是因为命令解释器在解析命令时,会先将 `>` 等符号进行重定向操作,将标准输出重定向到指定的文件 `top.log` 中,然后再执行 `top -d 60` 命令。
因此,终端会先输出重定向的命令,再执行 `top -d 60` 命令。`#` 符号表示这是一个 shell 的注释符号,说明后面的内容是注释,不会被执行。
如果不想在终端输出 `# top -d 60 > top.log &` 的信息,可以使用 `nohup` 命令和子shell的方式来执行命令,例如:
```
nohup sh -c 'top -d 60 > top.log' >/dev/null 2>&1 &
```
这样,终端就不会输出 `# top -d 60 > top.log &` 的信息了,同时也能够将 `top -d 60` 放到后台运行,避免被终端的控制机制终止。希望这个解决方法能够帮到您!
相关问题
为什么执行 top -d 60 > top.log & 终端输出[11] + Stopped (tty output) top -d 60 > top.log
在执行 `top -d 60 > top.log &` 命令时,终端输出 `[11] + Stopped (tty output) top -d 60 > top.log` 的信息,这是由于程序试图在终端上输出内容,被终端的输出流控制机制所阻塞导致的。
可以使用 `nohup` 命令和 `&` 符号将程序放到后台运行,避免终端输出的问题,例如:
```
nohup top -d 60 > top.log &
```
这样就可以将 `top -d 60` 放到后台运行,避免终端输出的问题。同时,使用 `nohup` 命令还可以在程序退出后继续运行,避免被终端的控制机制所终止。
另外,如果需要将程序停止,可以使用 `kill` 命令将其进程号杀掉,例如:
```
kill <pid>
```
其中,`<pid>` 是程序的进程号。希望这个解决方法能够帮到您!
在qnx中 为什么执行 top -d 60 > top.log & 终端输出[11] + Stopped (tty output) top -d 60 > top.log
在 QNX 操作系统中,执行 `top -d 60 > top.log &` 命令会将 `top -d 60` 命令放到后台运行,并将标准输出重定向到 `top.log` 文件中。但是,由于 QNX 系统的终端输出流控制机制,如果程序试图在终端上输出内容,会被阻塞导致出现 `[11] + Stopped (tty output) top -d 60 > top.log` 的信息。
如果您想要解决这个问题,可以使用 `nohup` 命令和子shell的方式来执行命令,例如:
```
nohup sh -c 'top -d 60 > top.log' >/dev/null 2>&1 &
```
这样,终端就不会输出 `[11] + Stopped (tty output) top -d 60 > top.log` 的信息了,同时也能够将 `top -d 60` 放到后台运行,避免被终端的控制机制终止。`nohup` 命令还可以在程序退出后继续运行,避免被终端的控制机制所终止。
另外,如果需要将程序停止,可以使用 `kill` 命令将其进程号杀掉,例如:
```
kill <pid>
```
其中,`<pid>` 是程序的进程号。希望这个解决方法能够帮到您!