Ubuntuでのサービスの使用状況の確認と不要サービスの停止方法
Ubuntuの中で、
各種サービスとして、
- SSH
- docker
- php-fpm
など、
色々と起動させていると思います。
そんなサービスの状況を確認して、
不要サービスを停止することがあり、
その際に対応したことなどを、
この記事にメモとして残しておきます。
サービスの使用状況の確認
全ての一覧か、個別なのかで、
オプションの有無が違うくらいで、
基本的に
service
というコマンドを使います。
全てのサービス状況を確認する
すべてのサービスを確認するためには、
以下のコマンドで確認可能です。
sudo service --status-all
コマンドを実行すると、
以下のように一覧で確認できます。
$ sudo service --status-all
[ + ] apparmor
[ + ] apport
[ + ] atd
[ - ] console-setup.sh
[ + ] cron
[ - ] cryptdisks
[ - ] cryptdisks-early
[ + ] dbus
[ + ] docker
[ - ] grub-common
[ - ] hwclock.sh
[ + ] irqbalance
[ - ] iscsid
[ - ] keyboard-setup.sh
[ + ] kmod
[ - ] lvm2
[ - ] lvm2-lvmpolld
[ + ] multipath-tools
[ + ] mysql
[ + ] nginx
[ - ] nginx-debug
[ - ] open-iscsi
[ - ] open-vm-tools
[ - ] php7.4-fpm
[ - ] php8.0-fpm
[ + ] php8.1-fpm
[ - ] plymouth
[ - ] plymouth-log
[ + ] procps
[ - ] rsync
[ + ] rsyslog
[ - ] screen-cleanup
[ + ] ssh
[ + ] udev
[ + ] ufw
[ + ] unattended-upgrades
[ - ] uuidd
[ - ] x11-common
個別のサービスのステータス確認
個別のサービスに対して、
ステータス状況を確認するには、
sudo service サービス名 status
例えば、
「MySQL」について、
サービスの起動状況を確認するには、
sudo service mysql status
というコマンドで確認が可能です。
実行すると、
$ sudo service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-03-27 11:42:05 JST; 1 weeks 0 days ago
Main PID: 897 (mysqld)
Status: "Server is operational"
Tasks: 40 (limit: 4677)
Memory: 463.5M
CGroup: /system.slice/mysql.service
└─897 /usr/sbin/mysqld
(参考)サービスをうまく停止できない事象が発生した
サービスの状況の例として、
[ + ] php7.4-fpm
[ - ] php8.0-fpm
[ + ] php8.1-fpm
のように、
8.1系を動かしているので、
なぜか起動している7.4のサービスを削除(停止)したい状況があります。
この7.4系を停止しようとする時、
コマンドとしては、
sudo service php7.4-fpm stop
というコマンドで、
通常であれば、停止が可能です。
しかし、
上記コマンドを実行しても、
[ + ] php7.4-fpm
[ - ] php8.0-fpm
[ + ] php8.1-fpm
という状況のままで、
なぜか上手く停止(削除)することができません。
この時、
sudo service php7.4-fpm status
で確認すると、
$ sudo service php7.4-fpm status
● php7.4-fpm.service
Loaded: masked (Reason: Unit php7.4-fpm.service is masked.)
Active: inactive (dead)
となっていました。
mask状態なので、
シンボリックリンクがあると思われるので、
そのパスなどを確認しようとしました。
フォルダとしては、
/etc/systemd/system
という場所で、
ls -ls php7.4-fpm.service
で確認すると、
php7.4-fpm.service -> /dev/null
となっており、
シンボリックリンク先がない状態でした。
この事象がなぜ発生したかは、
原因自体は掴めていませんが、
この事象自体に対処します。
上記フォルダで、
php7.4-fpm.service
自体を削除してあげます。
シンプルに
sudo rm php7.4-fpm.service
で削除を実行。
その後に、
sudo service php7.4-fpm stop
で停止してあげると、
[ - ] php7.4-fpm
[ - ] php8.0-fpm
[ + ] php8.1-fpm
このように、
うまく停止することができました。
サービスの停止がうまくいかないときは、
今回の事象が参考になるかもしれないので、
チェックしてみると良いですね。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。