this post was submitted on 28 Nov 2023
47 points (100.0% liked)

Linux

48090 readers
697 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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'
top 8 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 11 months ago (1 children)

systemctl status | grep stopped

[–] [email protected] 3 points 11 months ago

I think you're thinking of

systemctl list-units --type=service --state=stopped

status gives the state of the system and a cgroup tree

[–] [email protected] 0 points 11 months ago (1 children)

Don't you start a service with system tl servicename?

[–] [email protected] 4 points 11 months ago (1 children)

Yes,

systemctl start [servicename]

But I wanted to see what I have stopped and not started again

[–] [email protected] 2 points 11 months ago

OK, that's nothing I can help you with.

[–] [email protected] 0 points 11 months ago (2 children)

Can't you do systemctl status [service] to check that?

[–] [email protected] 8 points 11 months ago

That's only for a single service, not really what OP seems to be asking for

[–] [email protected] 5 points 11 months 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