你写好了几个 Python 脚本,一个监控文件夹,一个自动整理下载内容,还有一个定时发邮件——但每次只能开一个终端窗口跑一个,切来切去太麻烦。其实,不用装复杂工具,系统自带功能就能让你轻松实现「同时运行多个脚本」。
Windows 用户:用 cmd 或 PowerShell 多开窗口
最直接的方法是打开多个命令提示符或 PowerShell 窗口,各自运行一个脚本:
python monitor.py再按 Win + R 输入 cmd 回车,新开一个窗口跑另一个:
python clean_downloads.py嫌窗口太多遮挡桌面?可以最小化它们,或者改用 start 命令后台静默启动:
start /min python monitor.py
start /min python clean_downloads.py/min 表示最小化窗口运行,不打断你当前操作。
Mac 用户:用 Terminal 标签页或 tmux
Mac 自带 Terminal 支持多标签页(Cmd + T),每个标签跑一个脚本,切换方便。更省事的是用 nohup 让脚本在后台持续运行,关掉终端也不影响:
nohup python3 monitor.py &
nohup python3 send_report.py &注意末尾的 &,表示丢到后台执行;nohup 能防止终端关闭时进程被杀。日志默认输出到当前目录下的 nohup.out,想指定路径可以加 > monitor.log 2>&1。
跨平台通用方案:用 screen(Linux/macOS)或 Windows Terminal + WSL
如果你常用 WSL,或者在 macOS/Linux 下工作,screen 是个轻量好用的会话管理工具:
screen -S auto_clean
python3 clean_downloads.py按 Ctrl + A 再按 D 暂时脱离会话,再输入:
screen -S file_watch
python3 watch_folder.py想切回去?用 screen -r auto_clean 或 screen -r file_watch 就行。每个会话互不干扰,断网重连也不丢任务。
小技巧:避免端口冲突和文件锁
多个脚本同时读写同一个 CSV 文件,或者都监听 8000 端口?容易报错卡死。建议:给每个脚本加独立配置,比如监听端口错开:
# server1.py
app.run(port=8001)
# server2.py
app.run(port=8002)读写文件时,优先用 with open(..., 'a') 追加模式,比反复 'w' 安全;涉及关键数据,加个简单时间戳命名,比如 log_20240520_1423.txt,彻底避开覆盖问题。
别硬扛,该上工具时就上
如果脚本数量稳定在 5 个以上,且需要开机自启、异常重启、统一日志查看,那就别折腾命令行了。推荐两个轻量工具:
• Supervisor(Linux/macOS):配置一个 ini 文件,几行就管住所有脚本;
• Windows Task Scheduler:配合批处理脚本,设置「登录时启动」+「每 5 分钟检查是否存活」,稳当又省心。