Someone tell me if there is a better way to do this, but I don’t see how.

I needed a way to see which services I have enabled that I have manually stopped.

There oddly isn’t a way to do this in one command, so I had to take the output of list-unit-files ‘enabled’, and use that to filter for ‘list-units’. The command is here:

alias sysstop='systemctl list-units --state=failed,dead,exited $( systemctl list-unit-files --state=enabled --type=service | awk "/.*\.service/ {print }" )'

So now I can remember that I need to restart mariadb and nginx at some point:

$ sysstop
  UNIT                                 LOAD   ACTIVE   SUB    DESCRIPTION                                             
  blueman-mechanism.service            loaded inactive dead   Bluetooth management mechanism
  mariadb.service                      loaded inactive dead   MariaDB 11.2.2 database server
  NetworkManager-wait-online.service   loaded active   exited Network Manager Wait Online
  nginx.service                        loaded inactive dead   A high performance web server and a reverse proxy server
  systemd-homed-activate.service       loaded active   exited Home Area Activation
  systemd-networkd-wait-online.service loaded active   exited Wait for Network to be Configured

My other aliases are here, in case anyone finds these helpful. I use them frequently myself.

alias sysdis='systemctl list-unit-files --type=service --state=disabled'
alias sysdisuser='systemctl list-unit-files --type=service --state=disabled --user'
alias sysen='systemctl list-unit-files --type=service --state=enabled'
alias sysenuser='systemctl list-unit-files --type=service --state=enabled --user'
alias sysfail='systemctl list-units --type=service --state=failed'
alias sysrun='systemctl list-units --type=service --state=running'
alias sysrunuser='systemctl list-units --type=service --state=running --user'
alias sysstatic='systemctl list-units --type=service --state=static'
  • ∟⊔⊤∦∣≶OP
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    Only if you know what the [service] is. In my case, I’m prone to forgetting so this way I can see what should be running but isn’t