SSH 同时运行两个命令?

SSH 同时运行两个命令?

所以我想运行 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 会话。窗口并排放置,很容易监视正在发生的事情。当我在测试过程中跟踪日志文件时,我倾向于经常这样做。

相关内容