This repository is created as the main resource of the sharing titled Implement a Process Manager in 250 lines
aims to demostrate the essential components of a process manager.
The mini process manager is named as apm
, the short form of Anyone's Process Manger
. I expect this workable example to be a learning resource and reference for developing a completed and robust Process Manager
.
Read the following content for the guidance of getting started and check the issues for the detailed explanation of code.
(back-story) Initially, the project was planned of about 150 line code before I started to code and realized, however, it's impossible to finish the task in such a limited restrication. Thus I extended the number to 250 afterwhile.
Prompt the following code to start:
$ git clone https://github.com/DemoHn/apm-node-example.git && cd apm-node-example
$ npm install
$ ./bin/apm list # check if works
If everything is OK, the following will output:
[apm] start daemon
[apm] create daemon -> PID: 6796
ID STATUS PID
=============================
That's it!
-
Create & start an instance with specific command:
./bin/apm start --command <cmd> --cwd <cwd>
-
Start an existing instance:
./bin/apm start --id <instID>
-
Stop an instance:
./bin/apm stop --id <instID>
-
List all instances:
./bin/apm list