使用 top -d 10 -b | tee top.log &终端输出[18] + Stopped (tty output) top -d 10 -b | tee top.log
时间: 2024-03-18 14:44:14 浏览: 137
这个问题是因为你在终端中运行了一个带有管道的命令,并且将它放到了后台执行,但是管道命令需要和终端交互,因此会提示 "Stopped (tty output)"。这时你可以使用 `bg` 命令将该命令移到后台继续执行,或者使用 `disown` 命令将该命令从当前 shell 会话中分离出来,使其成为一个孤儿进程,不受当前 shell 会话的控制。
具体操作如下:
1. 使用 `jobs -l` 命令查看当前后台运行的任务列表,记录下你要操作的任务的编号,比如 [18]。
2. 使用 `bg %18` 命令将编号为 18 的任务移到后台继续执行,其中 %18 表示任务编号为 18。
3. 或者使用 `disown %18` 命令将编号为 18 的任务从当前 shell 会话中分离出来,使其成为一个孤儿进程,不受当前 shell 会话的控制。
执行完以上操作后,你就可以在后台继续运行该命令了。
相关问题
为什么执行 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>` 是程序的进程号。希望这个解决方法能够帮到您!
阅读全文