Cách kiểm tra tất cả các service đang chạy trong Linux

Khi sử dụng bất kỳ phân phối Linux nào, một số tiến trình và service sẽ cùng chạy. Một số service có thể chạy trong nền mà người dùng không hề hay biết. Việc chạy các service không cần thiết có thể tiêu tốn nhiều tài nguyên hệ thống hoặc gây ra vấn đề bảo mật.

Do đó, cần phải biết tất cả các service đang chạy trên hệ thống. Trong bài viết này, Quantrimang.com sẽ chỉ cho bạn tất cả các cách có thể áp dụng để liệt kê những service đang chạy trên máy tính Linux.

Cách kiểm tra các service đang chạy trong Linux

Trước tiên, hãy hiểu rõ về các service Linux. Nếu service có một script, thì nó đi kèm với 3 trạng thái:

  • start (bắt đầu)
  • stop (dừng)
  • restart (khởi động lại)

Tất cả được thực hiện với lệnh - service. Ví dụ, để khởi động lại service network-manager, hãy chạy lệnh sau:

sudo service network-manager restart

Lệnh service tham chiếu mỗi service bằng cách sử dụng script init được lưu trữ trong /etc/init.d cho Ubuntu và bất kỳ bản phân phối dựa trên Debian nào khác, và etc/rc.d/init.d cho các bản phân phối Linux dựa trên RedHat. Một số tên service thay đổi theo từng bản phân phối. Ví dụ, service web server Apache là httpd trên CentOS và Apache2 trên Ubuntu.

Rất nhiều bản phân phối Linux thuộc các hệ thống init sau:

  • System V (SysV), là hệ thống init ban đầu.
  • Upstart
  • systemd, là hệ thống init mới nhất tính đến thời điểm bài viết.

Kiểm tra tất cả các service đang chạy trong hệ thống System V (SysV) init

Hãy cùng xem một số lệnh Terminal mà bạn có thể sử dụng để liệt kê tất cả các service đang chạy trong hệ thống SysV init.

service --status-all
Đầu ra lệnh service –status-all
Đầu ra lệnh service –status-all

Lệnh trên liệt kê tất cả các service đang chạy trong hệ thống. Trong trường hợp các service đang chạy rất nhiều, bạn có thể sử dụng các tham số bổ sung - moreless để liệt kê các service trong chế độ xem một cách có tổ chức và rõ ràng.

service --status-all | less
Đầu ra lệnh service –status-all | Less
Đầu ra lệnh service –status-all | Less
service --status-all | more
Đầu ra lệnh service –status-all | More
Đầu ra lệnh service –status-all | More

Để chỉ liệt kê các service hiện đang chạy trên hệ thống, hãy thực thi lệnh bên dưới:

service --status-all | grep running

Để xem trạng thái của một service cụ thể, hãy thực thi lệnh bên dưới:

service --status-all | grep [service_name]
 e.g
 service --status-all | grep httpd

Ngoài ra, bạn có thể thực thi lệnh bên dưới để xem trạng thái của một service cụ thể.

service httpd status

Để liệt kê tất cả các service được kích hoạt trong khi boot, hãy thực thi lệnh bên dưới:

chkconfig --list

Kiểm tra tất cả các service đang chạy trong hệ thống Upstart init

Để liệt kê tất cả các service trên máy Linux chạy hệ thống Upstart init, hãy thực thi lệnh bên dưới:

initctl list

Kiểm tra tất cả các service đang chạy trong hệ thống Systemd init

Để liệt kê tất cả các service trên máy Linux đang chạy hệ thống Systemd init, hãy thực thi lệnh dưới đây:

systemctl
Đầu ra lệnh systemctl
Đầu ra lệnh systemctl

Từ lệnh trên, ta thấy rằng dữ liệu được hiển thị trong 5 cột, cụ thể là UNIT, LOAD, ACTIVE, SUB DESCRIPTION.

Bạn cũng có thể liệt kê các service đang chạy dựa trên loại của chúng bằng lệnh sau:

systemctl list-units --type service
Đầu ra lệnh systemctl list-units –type
Đầu ra lệnh systemctl list-units –type

Bạn cũng có thể liệt kê các service dựa trên trạng thái hiện tại của chúng. Kết quả tương đối giống với đầu ra của lệnh trước nhưng đơn giản hơn một chút.

systemctl list-unit-files --type service
systemctl list-unit-files | grep enabled
systemctl list-unit-files | grep enabled

Để liệt kê trạng thái của một service cụ thể, hãy thực thi lệnh bên dưới:

systemctl status [service_name]
 e.g
 systemctl status acpid.path
Lệnh systemctl status acpid.path
Lệnh systemctl status acpid.path

Để chỉ liệt kê các service hiện đang chạy trên hệ thống, hãy thực thi lệnh bên dưới:

systemctl | grep running
Lệnh systemctl | grep running
Lệnh systemctl | grep running

Để liệt kê tất cả các service được kích hoạt trong khi boot, hãy thực thi lệnh bên dưới:

systemctl list-unit-files | grep enabled
Lệnh systemctl list-unit-files | grep enabled
Lệnh systemctl list-unit-files | grep enabled

Bạn cũng có thể xem các control group (nhóm điều khiển) hàng đầu và việc sử dụng tài nguyên hệ thống của chúng như I/O, CPU, Tasks Memory bằng lệnh systemd-cgtop.

systemd-cgtop
Đầu ra lệnh systemd-cgtop
Đầu ra lệnh systemd-cgtop

Cũng có thể sử dụng pstree để liệt kê tất cả các service đang chạy trong hệ thống. Pstree lấy thông tin này từ đầu ra hệ thống Systemd.

pstree
Đầu ra lệnh pstree
Đầu ra lệnh pstree

Pstree cũng có thể được sử dụng với hệ thống System V int. Nó lấy đầu ra từ hệ thống SysVinit.

pstree

Bạn cũng có thể sử dụng tiện ích chkservice để kiểm tra tất cả các service đang chạy trong hệ thống Systemd. Tiện ích này không được cài đặt sẵn. Tuy nhiên, bạn có thể cài đặt qua Terminal bằng lệnh bên dưới:

sudo apt-get install chkservice
Lệnh cài đặt chkservice
Lệnh cài đặt chkservice

Để bắt đầu chkservice, hãy thực thi lệnh dưới đây. Lưu ý, bạn cần có quyền superuser.

sudo chkservice
Lệnh bắt đầu chkservice
Lệnh bắt đầu chkservice

Để xem tất cả các tính năng đi kèm với công cụ tuyệt vời này, hãy nhấn phím ? để mở menu Help.

Nhấn phím ? để mở menu Help
Nhấn phím ? để mở menu Help
Thứ Ba, 09/06/2020 09:12
51 👨 296
0 Bình luận
Sắp xếp theo