Ale*_*air 5 python subprocess detach etcd
我正在运行一个etcd进程,它一直保持活动直到你杀死它.(它不提供守护进程模式选项.)我想分离它,以便我可以继续运行更多的python.
我会在shell中做什么;
etcd & next_cmd
Run Code Online (Sandbox Code Playgroud)
我正在使用python的sh库,在整个互联网的热情推荐下.我宁愿不沉浸于,subprocess或者Popen我也没有找到使用它们的解决方案.
我想要的是;
sh.etcd(detach=True)
sh.next_cmd()
Run Code Online (Sandbox Code Playgroud)
要么
sh.etcd("&")
sh.next_cmd()
Run Code Online (Sandbox Code Playgroud)
不幸的是detach不是一个kwarg和sh对待"&"的一个标志etcd.
我在这里错过了什么吗?这样做的好方法是什么?
要实现sh的&,避免货物邪教编程和使用subprocess直接模块:
import subprocess
etcd = subprocess.Popen('etcd') # continue immediately
next_cmd_returncode = subprocess.call('next_cmd') # wait for it
# ... run more python here ...
etcd.terminate()
etcd.wait()
Run Code Online (Sandbox Code Playgroud)
这忽略了异常处理和你关于"守护进程模式"的讨论(如果你想在Python中实现一个守护进程;使用python-daemon.要将进程作为系统服务运行,请使用你提供的操作系统或管理程序等supervisord).
| 归档时间: |
|
| 查看次数: |
11679 次 |
| 最近记录: |