电脑港
白蓝主题五 · 清爽阅读
首页  > 软件应用

Windows 和 Mac 上如何同时运行多个脚本?实用方法一次讲清

你写好了几个 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_cleanscreen -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 分钟检查是否存活」,稳当又省心。