python-3.x - 用 execl 重启进程
问题描述
我在一个 git repo 中运行一个 python 程序,每晚我都计划在 master 分支上做一个 pull 并在需要时更新 repo。如果 repo 中的代码发生了变化(新的提交哈希),我将重新启动我的程序。
我有一个小测试脚本来验证重启是否有效,但我无法让它工作,因为重启后我的测试打印没有出现。
def start_new(new):
python = sys.executable
print(python)
if new == 1:
#git.py is the file we are in already
os.execl(python, python, 'git.py', 'test')
start_new(len(sys.argv))
print(2)
根据文档 execl 将立即用新进程替换旧进程而不返回。我对控制台输出的期望是:
path to python
path to python
2
但我唯一得到的是通往 python 的路径
我错过了什么?
编辑:问题存在于开发环境中,重启后无法打印。
解决方案
推荐阅读
- java - 有人可以解释一下这个数学方法的作用吗?
- jupyter-notebook - Jupyter Bokeh 和带有建议的大型列表过滤器?
- java - 如何从 json 文件中只获取一些属性?
- node.js - mongodb updateOne 方法不适用于 mongoose 5.4.10
- angular - 如何根据剑道网格中的特定列条件更改行的颜色以获取角度
- python - pyautogui 自动降档/升档和 ctrl-c 不起作用
- php - localhost apache 服务器上的 Windows-1256 问题
- java - 具有其他 spring 数据源属性的外部化 DB url 配置
- ios - 在 UIAlert 之后执行 Segue
- python - 操作熊猫中另一个数据框中存在的数据框的行