Abstracts the platform specific workflows for controlling native operating system services.
For Windows we rely on the sc
command while on systemd based Linux systems we rely on systemctl
.
This module is designed to run on newer Windows Servers and Workstations as well as Cent OS 7 or above.
For any of these simple calls, stop()
, start()
, delete()
, exists()
, or state()
, if a problem occurs we will throw an error. Thus it wouldn't hurt to wrap these calls in a try-catch when using.
This allows you to specify a service name and top that service if it exists. We also validate the stopped state once the command has been issued.
var service = new BackgroundService('Power');
service.stop();
console.log('Power service is now stopped');
This functionality allows you to start a service by name. We validate the started state afterwards and return when it is ready.
var service = new BackgroundService('Power');
service.start();
console.log('Power service is now running');
This functionality allows you to start a service by name. We validate the started state afterwards and return when it is ready.
var service = new BackgroundService('Power');
service.delete();
console.log('Power service has been deleted');
Returns a simple boolean of if the service exists as registered by the operating system.
var service = new BackgroundService('Power');
var serviceExists = service.exists();
if (serviceExists) {
console.log('Power service does exist');
}
Returns one of the properties stated in lib/service-states... RUNNING, STOPPED, or UNKNOWN
const SERVICE_STATES = require('./lib/service-states');
var service = new BackgroundService('Power');
var serviceState = service.state();
if (serviceState === SERVICE_STATES.RUNNING) {
console.log('Power service is running');
}