
Các hệ điều hành dựa trên Linux, giống như tất cả các hệ điều hành khác, có các quy trình và dịch vụ chạy trong khi máy đang bật. Những phạm vi từ các dịch vụ hệ điều hành khác nhau, đến dòng lệnh, đến các dịch vụ / daemon khác nhau được thiết kế để duy trì hệ thống và giữ cho nó chạy trơn tru. Hầu hết các dịch vụ đều quan trọng đối với quá trình hoạt động bình thường, từ dịch vụ trợ giúp, đến các dịch vụ đặc biệt được thiết kế để xử lý dữ liệu đầu vào, cải thiện hiệu năng, giảm tải tài nguyên, vv. cho tất cả.
Tuy nhiên, có thể xảy ra việc một dịch vụ có thể chạy mà bạn không biết, sử dụng tài nguyên hệ thống và thậm chí làm cho hệ thống của bạn dễ bị tổn thương nếu các biện pháp bảo mật chưa được tính đến. Vì các trường hợp có thể như thế này, nên biết cách kiểm tra và xử lý các trường hợp như vậy, cũng như có khả năng theo dõi những quy trình và dịch vụ nào đang chạy trên máy của bạn bất cứ lúc nào.
Trong hướng dẫn này, chúng tôi sẽ giới thiệu một số phương thức liệt kê / hiển thị tất cả các dịch vụ đang chạy và các tiến trình trên máy chủ hoặc máy dựa trên Linux, cũng như thực hiện một số lệnh hữu ích để giúp bạn tìm và quản lý các quy trình và dịch vụ này.
Công cụ dòng lệnh ‘service’
Lệnh ‘service’ được cài đặt sẵn với hầu hết mọi bản phân phối Linux trên mạng. Mặc dù mục đích chính của nó là bắt đầu và dừng các tập lệnh và tạo các quy trình, ‘dịch vụ’ cũng có thể được sử dụng để xem những dịch vụ nào đang chạy hoặc dừng tại bất kỳ thời điểm nào. Sử dụng một lệnh đơn giản, chúng tôi được cung cấp một danh sách đầy đủ các dịch vụ:
service --status-all
Khi bạn chạy điều này, một đầu ra tương tự như vậy sẽ xuất hiện:
[+] apache-htcacheclean
[+] apache2
[+] apparmor
[+] bind9
[ - ] Bluetooth
[-] bootmisc.sh
[-] cgmanager
[-] cgproxy
[-] checkfs.sh
[-] checkroot-bootclean.sh
[-] checkroot.sh
(tiếp theo)
Như bạn có thể thấy, một danh sách các dịch vụ được đưa ra dưới dạng đầu ra, với một biểu tượng ở bên trái tên của dịch vụ. Biểu tượng ‘+’ có nghĩa là dịch vụ đang chạy, ‘-‘ có nghĩa là dịch vụ bị dừng và ‘?’ có nghĩa là trạng thái hiện không xác định. Khi điều này được sử dụng kết hợp với một công cụ tìm kiếm như ‘grep’, việc tìm kiếm các dịch vụ cụ thể đang chạy rất dễ thực hiện. Sau đó, bạn có thể kiểm tra trạng thái trên cơ sở từng quá trình bằng cách nhập lệnh trạng thái cho một quy trình cụ thể:
service <service name> status
Điều này sau đó sẽ xuất ra một tập hợp thông tin liên quan đến dịch vụ cụ thể đó, bao gồm vị trí của quá trình, cho dù dịch vụ có đang chạy hay thậm chí một vài dòng cuối cùng của tệp nhật ký từ dịch vụ.