Linux の Systemd で実行中のすべてのサービスを一覧表示する方法
Linux システムは、さまざまなシステム サービス (リモート ログイン、電子メール、プリンタ、Web ホスティング、データ ストレージ、ファイル転送、ドメイン名解決 (DNS を使用)、動的 IP アドレス割り当て (DHCP を使用) など) を提供します。 )。
技術的には、サービスとは、バックグラウンドで継続的に実行され、リクエスト (特にクライアントから) が届くのを待つプロセスまたはプロセスのグループ (一般にデーモン として知られています) です。
Linux は、通常はプロセス マネージャーまたはサービス マネージャーを介して、サービスを管理するさまざまな方法 (開始、停止、再起動、システム起動時の自動開始の有効化など) をサポートしています。すべてではないにしても、ほとんどの最新の Linux ディストリビューションは現在、同じプロセス マネージャーである systemd を使用しています。
Systemd は、Linux 用のシステムおよびサービス マネージャーです。 init プロセスのドロップイン代替品。SysV および LSB init スクリプトと互換性があり、systemctl コマンドが管理する主要なツールですシステムです。
このガイドでは、Linux のsystemd で実行中のすべてのサービスを一覧表示する方法を説明します。
Linux の SystemD で実行中のサービスをリストする
引数を指定せずに systemctl コマンドを実行すると、サービスを含むロードされたすべての systemd ユニット (systemd ユニットの詳細については systemd のドキュメントを参照してください) のリストが表示され、そのステータス (アクティブかどうかに関係なく) が表示されます。 )。
# systemctl
システムにロードされているすべてのサービス (アクティブ、実行中、終了、または失敗に関係なく) を一覧表示するには、list-units サブコマンドと --type
スイッチを値 service とともに使用します。
# systemctl list-units --type=service OR # systemctl --type=service

また、ロードされているがアクティブなサービス (実行中のサービスと終了したサービスの両方) をすべてリストするには、次のように --state
オプションを値 active で追加します。
# systemctl list-units --type=service --state=active OR # systemctl --type=service --state=active

ただし、実行中のすべてのサービス (つまり、ロードされアクティブに実行中のすべてのサービス) を一目で確認するには、次のコマンドを実行します。
# systemctl list-units --type=service --state=running OR # systemctl --type=service --state=running

前のコマンドを頻繁に使用する場合は、次のように ~/.bashrc ファイルにエイリアス コマンドを作成して、簡単に呼び出すことができます。
# vim ~/.bashrc
次に、スクリーンショットに示すように、エイリアスのリストの下に次の行を追加します。
alias running_services='systemctl list-units --type=service --state=running'

ファイルの変更を保存して閉じます。今後は、「running_services」コマンドを使用して、サーバー上に読み込まれ、アクティブに実行されているすべてのサービスのリストを表示します。
# running_services #use the Tab completion

さらに、サービスの重要な側面は、サービスが使用するポートです。デーモン プロセスがリッスンしているポートを確認するには、次のように netstat またはss ツールを使用できます。
ここで、フラグ -l
は、リッスンしているすべてのソケットを表示することを意味し、-t
はすべての TCP 接続を表示し、-u
はすべての UDP 接続を表示し、- n
は (アプリケーション名の代わりに) 数値ポート番号を表示することを意味し、-p
はアプリケーション名を表示することを意味します。
# netstat -ltup | grep zabbix_agentd OR # ss -ltup | grep zabbix_agentd
5 列目はソケット: ローカル アドレス:ポートを示します。この場合、プロセス zabbix_agentd はポート 10050 でリッスンしています。

また、サーバーで、選択したサービスまたはポートとの間のトラフィックをブロックまたは許可する方法を制御するファイアウォール サービスが実行されている場合は、ufw コマンド (状況に応じて) を使用して、ファイアウォール内で開かれているサービスまたはポートを一覧表示できます。使用している Linux ディストリビューション上で) を示します。
# firewall-cmd --list-services [FirewallD] # firewall-cmd --list-ports $ sudo ufw status [UFW Firewall]

それは今のところすべてです!このガイドでは、Linux のsystemd で実行中のサービスを表示する方法を説明しました。また、サービスがリッスンしているポートを確認する方法と、システム ファイアウォールで開かれているサービスまたはポートを表示する方法についても説明しました。何か追加やご質問はありますか? 「はい」の場合は、以下のコメント フォームを使用してご連絡ください。