所以我想运行 Apache 基准测试,但在运行时,我需要运行 htop 来查看内存和 CPU 使用情况。我该怎么做?Putty(我的 ssh 客户端)不允许我在 ab 运行完成之前输入命令。
有想法吗?
答案1
您可以使用作业控制以与本地 shell 相同的方式执行此操作。例如:
time ssh localhost 'bash -c "sleep 5 & sleep 6 &"'
... 0.00s user 0.01s system 0% cpu 6.187 total
编辑:
哦,您只想从终端会话中执行此操作。您只需通过&
在命令后添加来使用作业控制,例如:benchmark &
然后htop
。这会使作业在后台运行。然后,您可以使用该jobs
命令查看哪些作业正在运行,并将其带回前台,fg %1
其中 1 是作业的编号。
答案2
有很多解决方案(将基准测试作为后台作业运行),但最好的解决方案是使用屏幕。它是控制台的“窗口管理器”。您可以创建多个窗口,在它们之间切换,甚至分离当前会话。这是一个非常强大的工具。
答案3
GNU Screen 是一款出色的应用程序,可以在一个 SSH 会话中运行多个进程(窗口)。它必须驻留在您连接的机器(服务器)上。
答案4
有时,尤其是对于需要一些时间才能运行的事情,最好只是打开两个 SSH 会话。窗口并排放置,很容易监视正在发生的事情。当我在测试过程中跟踪日志文件时,我倾向于经常这样做。