PERP

http://b0llix.net/perp/

Its a process supervisor , controller, manager in Linux.

The perp package provides a set of daemons and utilities to reliably start, monitor, log, and control a collection of persistent processes

Installation:

It can be build using make, or debain package.

https://github.com/jdavisp3/perp

cd perp
debuild -b -uc -us

This will generate the debian package for perp

Install it as,

dpkg -i  <perp>

How to configure:

At very first time, perp-setup comamnd needs to run to initialize the perp.

perp-setup /etc/perp /var/run/perp

Thats all.

Process Inclusion

Now, we have to create a configuration folder for each process which needs to be started/monitored by perp.

Refer this link, for example

https://github.com/jdavisp3/perp/tree/master/examples

Note:

For example to control agpd service,

Make sure , the files(/etc/perp/agpd/rc*) should have execute permission

Make sure, the folder (/etc/perp/agpd) should have "+t" flags(chmod +t /etc/perp/apgd) set(for activation)

Run the perp:

perpd

Management/User commands:

perpls - List the perp monitored process and status

root@f4e259709556:/etc/perp# perpls
[+ +++ +++]  consul    uptime: 26191s/26191s  pids: 7/6
[+ +++ +++]  rabbitmq  uptime: 25971s/26191s  pids: 16431/8
root@f4e259709556:/etc/perp#

perpstat : stats disable

root@f4e259709556:/etc/perp# perpstat rabbitmq
rabbitmq: activated 26269 seconds
  main: up 26049 seconds (pid 16431)
   log: up 26269 seconds (pid 8)
root@f4e259709556:/etc/perp#

perpctl: Stop/start the service

To deactivate/stop the service :

perpctl X <service name>

To activate/start the service

perpctl A <service name>

root@f4e259709556:/etc/perp# perpls            
[+ +++ +++]  consul    uptime: 26381s/26381s  pids: 7/6
[+ +++ +++]  rabbitmq  uptime: 26161s/26381s  pids: 16431/8
root@f4e259709556:/etc/perp# perpctl X rabbitmq
rabbitmq: set for deactivation
rescan triggered for deactivation set on 1 service
root@f4e259709556:/etc/perp# perpls            
[+ +++ +++]  consul    uptime: 26389s/26389s  pids: 7/6
[- --- ---]  rabbitmq  (service not activated)
root@f4e259709556:/etc/perp# perpctl A rabbitmq
rabbitmq: set for activation
rescan triggered for activation set on 1 service
root@f4e259709556:/etc/perp# perpls            
[+ +++ +++]  consul    uptime: 26399s/26399s  pids: 7/6
[+ +++ +++]  rabbitmq  uptime: 1s/2s  pids: 30736/30486
root@f4e259709556:/etc/perp#

results matching ""

    No results matching ""