最近在使用 star agent 的过程中,颇感 webssh 开窗口不太方便,不像原本在本地用的多窗口工具那么方便。不过在使用 Ctrl + z 和 linux 本身的 jobs 命令之后,这个情况得到了改善。
一个很常见的一个场景,在 daily 或者预发上,直接 kill 原本出了问题的 node 进程然后,修改添加一些日志输出之后,在重新启动一个 http server,然后用 curl 命令(或者 ab 之类的命令)去请求它测试一下。这个时候就可以使用 ctrl+z 切换后台来节省开多个终端的时间。
$ node index
# ctrl+z
^Z
[1] + 26762 suspended node index
启动之后直接 ctrl+z 就可以切换到后台。然后可以通过 jobs 来查看后台程序:
$ jobs
[1] + suspended node index
切换到后台之后,就可以对 server 进行 curl 或者 ab 等其他命令操作。等操作结束后,想查看 server 的日志,可以重新将其从后台转到前台来:
$ fg
[1] + 26762 continued node index
# ... 应用日志
这样就可以不用开多个终端了。直接结束前台的程序可以使用 ctrl+c。
这里有一个简单的前台程序和后台程序的概念。通常的后台程序启动方式是:
node index &
多个后台任务可以通过 %n 来选择恢复某个到前台。例如:
$ fg %1
就可以恢复 jobs 显示的编号为 1 的任务。恢复到前台之后可以通过 ctrl+c 结束任务。也可以通过 kill 来直接杀死后台任务:
$ kill %1