Fork you process like a boss
Project description
Fork your proccess like a boss
import forkme
import logging
import os
from time import sleep
logging.basicConfig(level=logging.DEBUG)
def main():
print("Master proccess has PID: {0}".format(os.getpid()))
forkme.fork(4)
print(
"Proceess #{id} has PID: {pid}".format(
id=forkme.get_id(),
pid=os.getpid()
)
)
sleep(1)
if __name__ == '__main__':
main()
This code makes 4 forks. When you try to run it you will see something like this
Master proccess has PID: 7437 INFO:forkme:Starting 4 processes Proceess #2 has PID: 7440 Proceess #1 has PID: 7439 Proceess #3 has PID: 7441 Proceess #0 has PID: 7438 INFO:forkme:Child with PID: 7439 Number: 1 exited normally INFO:forkme:Child with PID: 7441 Number: 3 exited normally INFO:forkme:Child with PID: 7440 Number: 2 exited normally INFO:forkme:Child with PID: 7438 Number: 0 exited normally
Forkme will be control forks. When subprocess will be killed or will exit with non-zero code it will be restarted immediately. e.g.:
Master proccess has PID: 7579 INFO:forkme:Starting 4 processes Proceess #0 has PID: 7580 Proceess #1 has PID: 7581 Proceess #2 has PID: 7582 Proceess #3 has PID: 7583 WARNING:forkme:Child with PID: 7580 Number: 0 killed by signal 9, restarting Proceess #0 has PID: 7584 INFO:forkme:Child with PID: 7581 Number: 1 exited normally INFO:forkme:Child with PID: 7582 Number: 2 exited normally INFO:forkme:Child with PID: 7583 Number: 3 exited normally INFO:forkme:Child with PID: 7584 Number: 0 exited normally
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
forkme-0.7.tar.gz
(2.9 kB
view details)
File details
Details for the file forkme-0.7.tar.gz
.
File metadata
- Download URL: forkme-0.7.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a9b665f2b52e6b93ec5d498ad72ff60c9828de742b650708cb47dc4abe9d07b |
|
MD5 | 813e5986e89ec7a3b02184748e116a60 |
|
BLAKE2b-256 | df49e959c6207e7b528e277caf5909f321068b4c8fc38489c33a5b9a45b38628 |