NodeJS Windows Services Controller
Installation
Install the module
npm i nodejs-windows-service-controller
Include the module in your script:
const ServiceController = ;
Usage
Create a new instance of the service:
const Superfetch = "Superfetch";
You can then use that instance for any of the following methods; NOTE: All methods return a promise and any that return data will resolve with that data, and any that return no data will resolve when the operation is finished.
ServiceController.changeStartupType(desiredStartupType)
Superfetch.changeStartupType("Auto");
Changes the startup type of the service to the desiredStartupType which can be any of the following;
- Auto
- Boot
- Disabled
- Demand
- System
ServiceController.continue()
Superfetch.continue();
Continues the service if it is paused
ServiceController.getInfo()
Superfetch;
Returns an object detailing the information surrounding the service with the below properties;
-
#### CanPauseAndContinue True if the service can be paused, otherwise false.
-
#### CanShutdown True if the service should be notified when the system is shutting down; otherwise, false.
-
#### CanStop True if the service can be stopped; otherwise, false.
-
#### <String[]> DependentServices An array of the names of services which are dependent on this service.
-
#### DisplayName The friendly name of the service, which can be used to identify the service.
-
#### MachineName The name of the computer that is running the service.
-
#### ServiceName The name that identifies the service.
-
#### <String[]> ServicesDependedOn An array of Services, each of which must be running for this service to run.
-
#### ServiceType The type of service that this object references.
-
#### StartType A value that indicates how the service starts.
- Auto
- Boot
- Disabled
- Demand
- System
-
#### Status Indicates whether the service is running, stopped, or paused, or whether a start, stop, pause, or continue command is pending.
ServiceController.pause()
Superfetch.pause(;
Pauses the service if it is running
ServiceController.start()
Superfetchstart;
Starts the service if it is not already running
ServiceController.stop()
Superfetch;
Stops the service if it is running
ServiceController.waitForStatus(desiredStatus)
Superfetch;
Returns a promise which resolves when the desired status that was passed to the method is reached. The desired status can be any of the following;
- ContinuePending
- Paused
- PausePending
- Running
- StartPending
- Stopped
- StopPending