使用"nohup"在后台运行"top"命令

6

我在使用nohup将top命令放到后台运行时遇到了问题。首先,我在本地运行它:

nohup top &

nohup.out 中出现文本 top: failed to get tty,意味着出现了问题。我的最终目标是在远程机器上运行 top 命令。

nohup ssh -t user@hostname top &

目前,上述命令也失败了。
Pseudo-terminal will not be allocated because stdin is not a terminal.^M 
TERM environment variable not set

有什么想法吗?

附注:我从machineA运行此命令pingmachineBmachineA一直在运行,但并非总是登录状态。


3
你可以使用screen命令。它将打开一个终端,然后你可以运行top命令,并使用Ctrl+a再按d键分离(退出但保持screen在后台运行)。如果您不介意我问一下,您想要实现什么目标? - Janito Vaqueiro Ferreira Filho
3
我对你为什么想要这样做感到困惑。 - tacaswell
@JanitoVaqueiroFerreiraFilho 我必须使用内置在我的Linux发行版中的nohup,而且我没有root访问权限来安装“screen”。 - Richard
1
回应@tcaswell - 你为什么要这样做? nohup 的目的是在 tty 连接意外断开时保持运行。但是,如果 top 没有 tty,就无法检查其输出或提供输入给 top,因此让其继续运行毫无意义。除非使用 screendtach 或其他类似工具,否则没有办法重新将其连接到 tty 上以使其再次有用... - twalberg
你需要为机器B做多少工作才能保持其运转,并且你需要多久做一次? - tacaswell
显示剩余2条评论
1个回答

15

你尝试过使用 top 命令的 -b(批处理模式)开关吗?


我建议添加“top命令”,这样更清晰一些。不过还是给你点赞=) - Janito Vaqueiro Ferreira Filho
它运行得很好...谢谢 - Mani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接