Lenh systemctl 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. Show Related Articles
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 LinuxTrướ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:
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:
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:
Kiểm tra tất cả các service đang chạy trong hệ thống System V (SysV) initHã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. Đầu ra lệnh service –status-allLệ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. Đầu ra lệnh service –status-all | Less Đầ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:
Để xem trạng thái của một service cụ thể, hãy thực thi lệnh bên dưới:
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ể.
Để 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:
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:
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: Đầu ra lệnh systemctlTừ 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: 0Đầu ra lệnh systemctl list-units –typeBạ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. 1systemctl 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: 2Lệ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: 3Lệ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: 4Lệnh systemctl list-unit-files | grep enabledBạ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. 5Đầu ra lệnh systemd-cgtopCũ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. 6Đầu ra lệnh pstreePstree 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. 6Bạ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: 8Lệ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. 9Lệ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 0 để mở menu Help. |