我在尝试在Windows机器VS上实现相同目标时遇到问题。一台Linux机器。问题是我有一个python脚本,该脚本会根据当前操作系统调用一个批处理/ shell脚本,而该批处理脚本将不允许继续执行该调用的python脚本。
这是python代码调用脚本的方式:
# Windows
subprocess.call([os.path.join(os.getcwd(), r'Data/restart.bat')])
# Linux
subprocess.call([r'./Data/restart.sh'])
调用shell脚本时,我只能假定它启动了自己的进程并允许调用的python脚本继续执行:
#!/bin/bash
echo "Restarting..."
sleep 5
python3.8 main.py &!
调用批处理脚本时,需要继续执行时,它将使python脚本保持运行:
echo Restarting...
timeout /t 5
start /b py main.py
所以我的问题是,无论是通过修改批处理文件还是更改它在python中的调用方式,我将如何获得与批处理文件的shell脚本相同的结果?