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
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 - more và less để 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
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
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 và 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
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
Để 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
Để 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
Để 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
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 và Memory bằng lệnh systemd-cgtop.
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
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
Để 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
Để 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.