serviceman

A cross-platform service manager

Usage no npm install needed!

<script type="module">
  import serviceman from 'https://cdn.skypack.dev/serviceman';
</script>

README

serviceman

A cross-platform service manager

serviceman add --name "my-project" node ./serve.js --port 3000
serviceman stop my-project
serviceman start my-project

Works with launchd (Mac), systemd (Linux), or standalone (Windows).

Meta Package

This is a meta-package to fetch and install the correction version of go-serviceman for your architecture and platform.

npm install serviceman

How does it work?

  1. Resolves executable from PATH, or hashbang (ex: #!/usr/bin/env node)
  2. Resolves file and directory paths to absolute paths (ex: /Users/me/my-project/serve.js)
  3. Creates a template .plist (Mac), .service (Linux), or .json (Windows) file
  4. Calls launchd (Mac), systemd (Linux), or serviceman-runner (Windows) to enable/start/stop/etc