@lostvkng/cacti

0.1.1 • Public • Published

Cacti

process management in a non-process driven world

I wrote cacti to create a zero dependency process management app for my raspberry pi. The main concept is that it runs shell commands in the background. Cacti supports cron syntax and forever flag which relauches processes when they crash.

Installation

Install cacti globally with npm

npm i -g @lostvkng/cacti

Attach cacti to systemd/systemctl/etc See daemons dir for examples

Usage

cacti list

Lists all active and scheduled jobs

cacti start [shell arguements]

options:
- name=[name] | custom job name
- forever     | relaunch job on exit

ex:
cacti start python3 /home/user/test.py
cacti start -name="blah" python3 /home/user/test.py
cacti start python3 /home/user/test.py -forever

Start a new job. You can set a unique name yourself. Adding the forever flag ensures the process restarts on exit.

cacti stop [pid]

ex:
cacti stop 12509

Kills an active job based on the pid. Will also kill any job launched with forever flag.

cacti add [cron string] [shell arguments]

options:
- name=[name] | custom job name

ex:
cacti add '* 19 * * *' python3 /home/user/Desktop/test.py
cacti add '* */2 3 * *' -name=notifyME python3 /home/user/Desktop/test.py

Add a new cron job to cacti. This launches shell code on set intervals. The cron syntax is further documented below.

cacti remove [name]

ex:
cacti remove notifyME

Removes a cron job by the assigned name.

cacti server

Launch the cacti server, this is usually called by the systemd/systemctl. Cacti communicates with a bare minimum node.js server over tcp on port 8127

Cron syntax

Cron syntax allows us to specify when to launch a task with only a space seperated string.

The syntax is seperated as so:

minute hour day(month) month day(week)

* any value
, value list seperator
- range of values
/ step values

Examples:

'* * * * *'

Run every minute/hour/day/month/day of week

'5 4 * * *'

Run every 4th hour and 5th minute for every day/month/day of week

'0 22 * * 1-5'

Run at 22h00 every weekday

Readme

Keywords

none

Package Sidebar

Install

npm i @lostvkng/cacti

Weekly Downloads

1

Version

0.1.1

License

MIT

Unpacked Size

71.6 kB

Total Files

23

Last publish

Collaborators

  • lostvkng