分叉并分离当前进程。

detach的Python项目详细描述


分叉并分离当前进程

[![生成状态](https://travis-ci.org/BlueDragonX/detach.svg)](https://travis-ci.org/BlueDragonX/detach

用法

detach包包含一个名为detach的上下文管理器。它被使用 with withwith语句派生当前进程并在其中执行代码 过程。当上下文管理器退出时子进程退出。以下 参数可以传递到分离以更改其行为:

  • stdout-将子stdout重定向到此流。
  • stderr-将子stderr重定向到此流。
  • stdin-将其流重定向到子stdin。
  • 关闭fds-关闭子级中除stdio之外的所有文件描述符
  • exclude\u fds-如果close\u fds为True,则不要关闭这些文件描述符
  • > DaimOngult >当上下文管理器退出时退出父进程。

示例

###带标准输出的简单叉

import detach, os, sys

with detach.Detach(sys.stdout) as d:
if d.pid:
print(“forked child with pid {}”.format(d.pid))
else:
print(“hello from child process {}”.format(os.getpid()))

###守护

import detach from your_app import main

def main():
“”“Your daemon code here.”“”
with detach.Detach(daemonize=True) as d:
if d.pid:
print(“started process {} in background”.format(pid))
else:
main()

###调用外部命令

import detach, sys pid = detach.call([‘bash’, ‘-c’, ‘echo “my pid is $$”’], stdout=sys.stdout) print(“running external command {}”.format(pid))

许可证

版权所有(c)2014瑞安资产阶级。这个项目及其所有内容是 根据包含在[许可证][1]中的BSD衍生许可证进行许可 文件。

[1]:https://github.com/bluedragonx/detach/blob/master/LICENSE“许可证”

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SSH连接到远程Linux服务器,但不使用第三方库   java使用REST assured的XmlPath查找所有XML节点   java员工入围名单   使用jlinked java launcher启用jlink预览功能   java我的ArrayList对象没有打印出我想要的对象属性   java父标记在FXML文件中没有默认属性警告?   mongodb使用Java复制集合mongodb,而不使用迭代器进行DbAdmin登录   java JDBC DatabaseMetaData为oracle12C中的列大小返回“0”   java在登录后设置会话属性   java中的Html转义?   mysql JAVA面向对象数据库连接   java让socket在安卓中保持活力   java放射组。setOnCheckedListener未按预期工作。(更改单选按钮的颜色)   java LocalContainerEntityManagerFactoryBean实例化未找到persistenceunit   java无法在运行时(运行活动)更改配置(语言环境)