同时运行多个Python脚本时遭遇WSL执行错误求助
问题修复方案
一、脚本本身的两处错误
1. 路径分隔符错误
bash环境下路径要用正斜杠/,不能用Windows的反斜杠\\,把所有clients\\clientXX.py替换成clients/clientXX.py。
2. 参数格式错误
--partition= 1里等号和参数值之间的空格会导致解析失败,改成--partition=1或者--partition 1都可以。
二、WSL环境错误处理
错误提示里的getpwuid(0) failed和execvpe /bin/bash failed是WSL环境配置问题,按以下步骤解决:
- 打开PowerShell执行
wsl --shutdown,彻底关闭所有WSL实例后重新启动 - 如果重启后仍报错,检查WSL默认用户配置,以Ubuntu为例,执行
ubuntu config --default-user root重置默认用户(其他发行版替换对应命令) - 检查
/etc/fstab文件,修复里面的错误挂载项,因为提示有Processing fstab with mount -a failed
修复后的完整脚本
#!/bin/bash sleep 2m echo "Cohort-1 of wt-1" echo "starting client 23" python clients/client23.py --partition=1 & echo "starting client 13" python clients/client13.py --partition=2 & echo "starting client 37" python clients/client37.py --partition=3 & echo "starting client 92" python clients/client92.py --partition=4 & echo "starting client 56" python clients/client56.py --partition=5 & echo "starting client 17" python clients/client17.py --partition=6 & echo "starting client 22" python clients/client22.py --partition=7 & echo "starting client 49" python clients/client49.py --partition=8 & echo "starting client 58" python clients/client58.py --partition=9 & echo "starting client 42" python clients/client42.py --partition=10 & trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM wait
内容的提问来源于stack exchange,提问作者pyComali
相关产品推荐
相关产品推荐

