Skip to main content

The package for running daemonized processes

Project description

Daemon python process

Class Daemon allow to run python script like a daemon process.

To run a process as a daemon you must inherit from Daemon. Daemon has abstractmethod daemon. The code to run in the background must be placed in the daemon method.

The Daemon class constructor contains the required parameter pid_file which is the path to the storage location of the file with the daemon's pid. Also the constructor also has parameters for determining the path for the stdout and stderr files.

start method used to run daemon. stop method used to stop daemon. restart method used to restart daemon.

Process to background (note)

Calling setsid is usually one of the steps a process goes through when becoming a so called daemon process. (We are talking about Linux/Unix OS). With setsid the association with the controlling terminal breaks. This means that the process will be NOT affected by a logout. There are other way how to survive a logout, but the purpose of this 'daemonizing' process is to create a background process as independent from the outside world as possible. That's why all inherited descriptors are closed; cwd is set to an appropriate directory, often the root directory; and the process leaves the session it was started from. A double fork approach is generally recommended. At each fork the parent exits and the child continues. Actually nothing changes except the PID, but that's exactly what is needed here. First fork before the setsid makes sure the process is not a process group leader. That is required for a succesfull setsid. The second fork after the setsid makes sure that a new association with a controlling terminal won't be started merely by opening a terminal device.

Source stackoverflow

Краткая суть в том что необходимо создать копию процесса через fork, сделать его максимально независимым от внешнего мира и создание еще одной копии процесса через fork, это делается для смена PID.

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

daemon-process-0.9.2.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

daemon_process-0.9.2-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file daemon-process-0.9.2.tar.gz.

File metadata

  • Download URL: daemon-process-0.9.2.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.1

File hashes

Hashes for daemon-process-0.9.2.tar.gz
Algorithm Hash digest
SHA256 ea8e2cb1f6471985b67fb1735653aaa7eeca1906ac396149de7907949755732b
MD5 a6058bd1b5ea1545ce879298a3c8a26f
BLAKE2b-256 2dcc6436c29608b6c90296a129002b24a6b3ab6b4464d9166f9b292c11f8e476

See more details on using hashes here.

File details

Details for the file daemon_process-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: daemon_process-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.1

File hashes

Hashes for daemon_process-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 120e4765de038efb1d45904a9fa99aaede4a47d363eb08f0d1cf8b3ea006557f
MD5 555e830ff7068a931d1ee44443ed2aec
BLAKE2b-256 fc6d843486a53eb60c3b7ef7d97e0ca0a10ab7df12016ffc84c756a0b03ec7fb

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