Skip to main content

Fork and detach the current processe.

Project description

Fork and detach the current process.

[![Build Status](https://travis-ci.org/BlueDragonX/detach.svg)](https://travis-ci.org/BlueDragonX/detach)

Usage

The detach package contains a context manager called Detach. It is used with with with statement to fork the current process and execute code in that process. The child process exits when the context manager exits. The following parameters may be passed to Detach to change its behavior:

  • stdout - Redirect child stdout to this stream.

  • stderr - Redirect child stderr to this stream.

  • stdin - Redirect his stream to child stdin.

  • close_fds - Close all file descriptors in the child excluding stdio.

  • exclude_fds - Do not close these file descriptors if close_fds is True.

  • daemonize - Exit the parent process when the context manager exits.

Examples

### Simple Fork with STDOUT

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()))

### Daemonize

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()

### Call External Command

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

License

Copyright (c) 2014 Ryan Bourgeois. This project and all of its contents is licensed under the BSD-derived license as found in the included [LICENSE][1] file.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

detach-1.0.tar.gz (3.4 kB view details)

Uploaded Source

File details

Details for the file detach-1.0.tar.gz.

File metadata

  • Download URL: detach-1.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for detach-1.0.tar.gz
Algorithm Hash digest
SHA256 95b7164735506b9f12181c717d74289cea7f300cb5e1ec1970a3f9f45860683f
MD5 321bb1b6e8581a99689ee09bf88401cf
BLAKE2b-256 834c6028198445fe35f6ba7a12bca5ec19d8273d2b259b50e8ea0564348a13c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page