Các bản phân phối Linux chính thống tất cả đều sử dụng Systemd, một hệ thống init hoạt động dựa trên việc bật và tắt các tệp “dịch vụ”. Nếu bạn đang cố gắng liệt kê các tệp dịch vụ này nhưng không biết cách thực hiện, bạn cần sử dụng lệnh systemctl .
Trong hướng dẫn này, chúng tôi sẽ xem xét các cách khác nhau mà bạn có thể liệt kê các tệp dịch vụ Systemd trên Linux. Để bắt đầu, hãy đảm bảo bạn đang sử dụng Hệ điều hành Linux với Systemd. Sau đó, mở cửa sổ dòng lệnh và làm theo.
Sử dụng Systemd để liệt kê các dịch vụ đang hoạt động
Nếu bạn đang sử dụng Systemd nhiều, tại một số điểm, bạn có thể muốn biết những dịch vụ nào đang hoạt động trong khi hệ thống Linux của bạn được khởi động. Liệt kê các dịch vụ đang hoạt động rất dễ dàng và bạn có thể thực hiện việc đó bằng lệnh systemctl –type=service systemctl –type=service –state=running .
Khi chạy, lệnh này sẽ hiển thị một bảng gồm tất cả các dịch vụ, nếu chúng đang hoạt động, cũng như một mô tả ngắn gọn. Để chạy chương trình này, hãy mở cửa sổ đầu cuối . Sau khi cửa sổ đầu cuối mở, hãy thực hiện lệnh bên dưới.
systemctl--type=service--state=running
Nếu bạn đang cố gắng lọc qua tất cả các dịch vụ đang hoạt động cho một dịch vụ cụ thể, việc xem qua bảng lớn này có thể khá tẻ nhạt. Rất may, lệnh systemctl có thể được kết hợp với lệnh grep làm cơ chế lọc.
Ví dụ: để kiểm tra xem “snapd.service” có đang chạy và được tải hay không, bạn có thể chạy systemctl –type=service –state=running | grep ‘snapd’ và đầu ra sẽ chỉ hiển thị dịch vụ Snapd, thay vì toàn bộ bảng.
systemctl--type=service--state=running | grep'snapd'
Nếu bạn muốn lưu kết quả đầu ra của bảng thành tệp văn bản để sử dụng sau này, hãy sử dụng lệnh sau.
systemctl--type=service--state=runningrunning> ~/active-services.txt
Để xem tệp văn bản bất kỳ lúc nào, hãy thực hiện lệnh cat dưới đây.
cat ~/active-services.txt
Sử dụng Systemd để liệt kê các dịch vụ không hoạt động
Liệt kê các dịch vụ Systemd đang hoạt động rất hữu ích, nhưng còn những dịch vụ không hoạt động thì sao? Có, nó cũng có thể liệt kê những điều đó. Đây là cách thực hiện. Đầu tiên, hãy mở một cửa sổ dòng lệnh.
Khi cửa sổ dòng lệnh đã mở và sẵn sàng sử dụng, hãy thực thi lệnh systemctl –type=service nhưng trong vị trí –state=, hãy đặt “không hoạt động” thay vì”đang chạy.”Bằng cách này, bạn có thể biết dịch vụ Systemd nào không hoạt động trên hệ thống Linux của mình.
systemctl--type=service--state=inactive
Giống như với các dịch vụ đang hoạt động, Systemd sẽ tạo một bảng đẹp, gọn gàng và hiển thị cho bạn những dịch vụ Systemd không hoạt động, đã chết và không được sử dụng. Nếu bạn muốn lọc qua bảng này để tìm xem một dịch vụ cụ thể đã chết hay chưa, bạn có thể kết hợp nó với lệnh grep .
Ví dụ: để xác định xem tệp “updatedb.service” không hoạt động hay không, bạn có thể kết hợp systemctl –type=service –state=inactive với lệnh grep bên dưới để tìm kiếm nó trên bảng.
systemctl--type=service--state=inactive | grep'updatedb.service'
Nếu bạn cần lưu tất cả các tệp dịch vụ Systemd không hoạt động vào tệp văn bản để đọc sau, hãy sử dụng lệnh sau.
systemctl--type=service--state=inactive> ~/inactive-services.txt
Để đọc tệp văn bản này ngay từ cửa sổ dòng lệnh, hãy sử dụng lệnh cat .
cat ~/inactive-services.txt
Sử dụng Systemd để liệt kê tất cả các dịch vụ đã cài đặt
Nếu bạn cần xem tất cả các dịch vụ Systemd đã cài đặt, cho dù chúng đang hoạt động hay không, bạn sẽ cần sử dụng lệnh systemctl list-unit-files –type=service và loại trừ
systemctl list-unit-files--type=service
Khi lệnh trên được thực thi, Systemd sẽ in ra một bảng với mọi tệp dịch vụ trên hệ thống. Từ đây, bạn có thể sắp xếp thông qua bảng để tìm tệp dịch vụ bạn cần.
Nếu bạn không thể tìm thấy một tệp dịch vụ cụ thể, bạn có thể kết hợp lệnh systemctl list-unit-files –type=service với lệnh grep để sử dụng bộ lọc. Sử dụng lệnh bên dưới, lọc bảng để tìm tệp dịch vụ bạn cần.
systemctl list-unit-files--type=service | grep'my-service'
Bạn muốn xuất tất cả các dịch vụ Systemd sang tệp văn bản để đọc sau này? Thực hiện lệnh sau.
systemctl list-unit-files--type=service> ~/service-files.txt
Bạn có thể xem tệp văn bản bất kỳ lúc nào bằng lệnh cat dưới đây.
cat ~/service-files.txt
Sử dụng Systemd để hiển thị trạng thái của từng dịch vụ
Mặc dù rất hữu ích nếu biết cách liệt kê tất cả các dịch vụ Systemd, những dịch vụ đang hoạt động và không hoạt động, nhưng cũng hữu ích khi biết cách liệt kê trạng thái của từng dịch vụ. Đây là cách thực hiện.
Đầu tiên, hãy mở cửa sổ dòng lệnh. Khi cửa sổ dòng lệnh được mở, hãy sử dụng lệnh systemctl status trên một dịch vụ cụ thể. Ví dụ: để tìm trạng thái của “NetworkManager.service,” lệnh sau được chạy.
systemctl status NetworkManager
Nếu bạn muốn xuất đầu ra của lệnh trạng thái thành tệp văn bản để đọc sau, bạn có thể nhập lệnh bên dưới.
systemctl status MyService> ~/MyService-status.txt
Để xem tệp này, hãy thực hiện lệnh cat sau.
cat ~/MyService-status.txt