等效于Shell脚本(.sh)“&!”的批处理文件(.bat)

时间:2020-08-28 19:47:42

标签: python windows shell batch-file

我在尝试在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脚本相同的结果?

0 个答案:

没有答案