Under some circumstances, it may be necessary to specify the service manager by using one of the following service manager-specific resources: `bsd_service`, `launchd_service`, `runit_service`, `systemd_service`, `sysv_service`, or `upstart_service`. These resources are based on the `service` resource.
Under some circumstances, it may be required to override the logic in place to select the right service manager. For example, to check a service managed by Upstart:
describe upstart_service('service') do
it { should_not be_enabled }
it { should be_installed }
it { should be_running }
end
This is also possible with `systemd_service`, `runit_service`, `sysv_service`, `bsd_service`, and `launchd_service`. Provide the control command when it is not to be found at the default location. For example, if the `sv` command for services managed by runit is not in the `PATH`:
describe runit_service('service', '/opt/chef/embedded/sbin/sv') do
This InSpec audit resource has the following matchers. For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
### be_enabled
The `be_enabled` matcher tests if the named service is enabled:
it { should be_enabled }
### be_installed
The `be_installed` matcher tests if the named service is installed:
it { should be_installed }
### be_running
The `be_running` matcher tests if the named service is running: