113

Is there any command that would show all the available services in my wheezy Debian based OS?

I know that in order to see all the running services you can use service --status-all.

  • http://stackoverflow.com/questions/18721149/check-if-a-particular-service-is-running-on-ubuntu – Amit G Apr 04 '16 at 07:09

6 Answers6

85

On Debian jessie try: service --status-all.

It is in the sysvinit-utils package.

61

Wheezy uses SysV init, and all the services are controlled with special shell scripts in /etc/init.d, so ls /etc/init.d will list them. These files also contain a description of the service at the top, and the directory contains a README.

Some but not all of them have a .sh suffix, you should leave that off when using, eg., update-rc.d.

goldilocks
  • 87,661
  • 30
  • 204
  • 262
22
service --status-all

Will list all services with a status code, being stopped or off (-), started or on (+), or unknown (?), which means no status code section in their init.d script. Not just running services.

cde
  • 449
  • 3
  • 11
21

As said, with systemd would be

systemctl --full --type service --all

From man page:

-l, --full Do not ellipsize unit names, process tree entries, journal output, or truncate unit descriptions in the output of status, list-units, list-jobs, and list-timers.

-a, --all When listing units with list-units, also show inactive units and units which are following other units. When showing unit/job/manager properties, show all properties regardless whether they are set or not.

Also useful, from ArchWiki:

systemctl             # List running units
systemctl list-units  # Idem
systemctl --failed    # List failed units
Pablo A
  • 2,712
2

Try

systemctl list-unit-files

Or

systemctl list-unit-files | grep yourservicenameorpartofit
ttt
  • 301
0

/etc/init.d contains scripts used by the System V init tools (SysVinit).

List executable:

ls -F /etc/init.d/ | grep '*$'
CamelTM
  • 101