在大部分的 web app 开发环境中,通常会需要启动不只一个程序。比如一个用 Tornado 或者 Flask 写的的 Python web app,通常还需要启动处理异步操作的 rq 或 celery。
在生产环境中,这些程序可能会使用一个类似 supervisord 这样的进程管理器。但是在开发环境中,你可能会需要查看这些程序输出到 console 中的输出。
我们可以创建一个这样的 bash 脚本,用 tmux 来同时启动我们需要的所有程序,并分屏显示:
#!/bin/sh tmux new-session -d 'python app.py' tmux split-window -h 'rqworker' tmux -2 attach-session -d 在上面的例子中,python app.py 是启动之后在左侧分屏显示的程序,rqworker 在右侧。如果把第二行中的 -h 换成 -v 那么将会使用水平方式分屏显示。
如果你需要切换分屏窗口中的焦点,那么使用快捷键 Ctrl-B 然后加方向键即可。
