当我尝试将mkdocs serve
作为子进程运行并使用CTRL + C退出MkDocs服务器时,父Python进程也会立即退出。最后,甚至没有注册atexit
注册的条款或函数。
try:
os.system('mkdocs serve')
finally:
print('>> finally')
到底发生了什么事?在查看mkdocs serve
命令的implementation后,我找不到任何可疑的内容。在Windows上使用Python 3.4进行测试。
更新:事实证明,这似乎与Windows上的Mintty(GitForWindows)有关。 如果我从Cmder或本机Windows命令提示符运行Python脚本,一切正常。