You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Bash同时启动多个不同端口的Tornado实例?

解决Tornado多实例同时启动的问题

你碰到的问题确实很常见——默认情况下Bash会阻塞式执行每个命令,必须等前一个进程完全结束才会运行下一个。要让这三个Tornado实例同时启动,只需要在每个命令末尾加上&符号,把进程放到后台运行即可。

修改后的基础脚本

#!/bin/bash
#start tornado instances in different ports
python startup.py --port="8081" &
python startup.py --port="8082" &
python startup.py --port="8083" &

额外优化建议

如果不想让各个实例的输出混在一起(方便后续排查问题),可以把每个进程的日志单独输出到对应端口的日志文件里:

#!/bin/bash
#start tornado instances with separate logs
python startup.py --port="8081" >> tornado_8081.log 2>&1 &
python startup.py --port="8082" >> tornado_8082.log 2>&1 &
python startup.py --port="8083" >> tornado_8083.log 2>&1 &

这里>> tornado_8081.log是把标准输出追加到日志文件,2>&1是把错误输出也重定向到同一个文件,确保所有运行日志都能被完整记录。

另外,如果希望脚本一直保持运行状态,直到所有后台的Tornado进程都结束,可以在脚本最后加上wait命令:

#!/bin/bash
#start tornado instances and wait for all to exit
python startup.py --port="8081" >> tornado_8081.log 2>&1 &
python startup.py --port="8082" >> tornado_8082.log 2>&1 &
python startup.py --port="8083" >> tornado_8083.log 2>&1 &
wait

这样脚本会持续运行,直到你手动停止所有Tornado进程,或者它们自身正常退出。

内容的提问来源于stack exchange,提问作者Casey Cao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:30:34