0

我有一个执行以下操作的脚本;

  • 检查工作目录中是否存在 temp.txt 文件。
    • 如果存在 temp.txt 文件和 update.pyd 文件将被删除。
  • 检查工作目录中是否存在 update.pyd 模块。
    • 如果存在,它会导入并运行它。
    • 更新过程会在工作目录中创建一个 temp.txt 文件。
    • 更新后脚本使用重新启动os.execl(sys.executable, sys.executable, *sys.argv)

os.execl(sys.executable, sys.executable, *sys.argv)但是当被调用时我不断收到错误:

Traceback (most recent call last):
  File "<string>", line 73, in execInThread
  File "<string>", line 44, in __call__
  File "C:\Program Files (x86)\PyScripter\Lib\rpyc.zip\rpyc\core\netref.py", line 196, in __call__
  File "C:\Program Files (x86)\PyScripter\Lib\rpyc.zip\rpyc\core\netref.py", line 71, in syncreq
  File "C:\Program Files (x86)\PyScripter\Lib\rpyc.zip\rpyc\core\protocol.py", line 431, in sync_request
  File "C:\Program Files (x86)\PyScripter\Lib\rpyc.zip\rpyc\core\protocol.py", line 379, in serve
  File "C:\Program Files (x86)\PyScripter\Lib\rpyc.zip\rpyc\core\protocol.py", line 337, in _recv
  File "C:\Program Files (x86)\PyScripter\Lib\rpyc.zip\rpyc\core\channel.py", line 50, in recv
  File "C:\Program Files (x86)\PyScripter\Lib\rpyc.zip\rpyc\core\stream.py", line 166, in read
EOFError: [WinError 10054] An existing connection was forcibly closed by the remote host

我在同一个脚本中有另一个进程执行类似的操作,并使用重新启动os.execl(sys.executable, sys.executable, *sys.argv),但重新启动干净。

有人可以告诉我为什么会这样。错误指的是什么“连接”,在重新启动之前如何关闭它?谢谢

4

0 回答 0