Cách để xem toàn bộ các service trong Linux

0

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ụ.

PS

Viết tắt của ‘process status’, PS là một tiện ích được cài đặt sẵn được thiết kế để hiển thị thông tin và chi tiết về các quy trình. Nó là một công cụ đơn giản, nhanh chóng được thiết kế để cung cấp kết quả nhanh chóng mà không phiền phức. Với một lệnh đơn giản, chúng ta có thể liệt kê một danh sách chi tiết các tiến trình đang chạy:

ps -aux

Bạn có thể sử dụng lệnh này cùng với lệnh ‘less’ để cải thiện khả năng đọc. Khi chạy lệnh này, chúng tôi được cung cấp chi tiết cho từng quy trình hiện đang chạy. Bạn cũng có thể sử dụng lệnh ‘grep’ để thu hẹp kết quả thành một tên quy trình cụ thể, ID tiến trình, v.v.

Công cụ dòng lệnh ‘top

‘top’ là công cụ tích hợp được thiết kế để cung cấp tổng quan về tất cả các quy trình và dịch vụ hiện đang chạy trên máy của bạn. Nó được bao gồm trên cả hai bản phát hành dựa trên Debian và RedHat, và cung cấp một loạt các tính năng để giúp bạn tìm ra những gì đang xảy ra trên máy chủ của bạn. Bạn có thể bắt đầu ‘top’ bằng cách viết top trên dòng lệnh. Đây là những gì nó sẽ hiển thị:

top - 03:29:24 up 53 min, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 58 total, 1 running, 57 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2097152 total, 1025376 free, 504424 used, 567352 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1485816 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1073 root 20 0 128404 1672 888 S 0.3 0.1 0:00.45 screen
3160 root 20 0 157900 2156 1516 R 0.3 0.1 0:00.06 top
 1 root 20 0 129484 3716 2412 S 0.0 0.2 0:03.03 systemd
 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd/2306
 3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper/2306
 57 root 20 0 39176 2816 2492 S 0.0 0.1 0:00.53 systemd-journal
 63 root 20 0 42624 1740 1292 S 0.0 0.1 0:00.01 systemd-udevd
(continued)

Nó có thể hơi lộn xộn một chút, nhưng rất nhiều thông tin này rất hữu ích. Ví dụ, chúng ta có thể xem hệ thống đã chạy bao lâu, tải trung bình, số lượng người dùng đăng nhập, bao nhiêu tiến trình (nhiệm vụ) đang chạy, ngủ, vv cũng như thông tin về lượng bộ nhớ chúng ta có và có sẵn trên máy chủ. Đầu đi vào chi tiết thậm chí lớn hơn, xuống đến một mức độ quy trình cụ thể. Mỗi cột sẽ hiển thị một giá trị cụ thể tương ứng với quá trình đang chạy. Chúng ta có thể thấy ai sở hữu quy trình, dung lượng bộ nhớ sử dụng, số lượng CPU đang được sử dụng, tên lệnh và ID tiến trình, duy nhất cho quy trình đó và giúp chúng tôi xác định nó trong trường hợp có nhiều hơn một quá trình tương tự. Sử dụng tất cả thông tin này, chúng tôi có thể thấy chính xác những gì từng quy trình đang thực hiện và số lượng tài nguyên mà mỗi quá trình sử dụng hết,

htop

Htop rất giống ‘top’ về các tính năng và chức năng cốt lõi của nó. Nó thường không được bao gồm trong một hệ điều hành mặc định cài đặt, tuy nhiên nó có sẵn cho hầu hết nếu không phải tất cả các bản phân phối Linux thông qua các kho phần mềm được cài đặt sẵn của nó. Giống như trên cùng, htop cho phép người dùng xem thông tin chi tiết về từng quy trình, cũng như giữ các tab trên chính hệ thống. Tuy nhiên, htop cho phép kiểm soát tốt hơn nhiều thông tin được hiển thị cho bạn, cũng như cung cấp một bộ tiện ích có thể được áp dụng cho các quy trình.

Ví dụ, thông qua htop, bạn có thể điều chỉnh niceness (ưu tiên) của một quá trình. Bên cạnh đó htop cũng phân loại, giúp bạn dễ dàng chỉ xem thông tin quan trọng đối với bạn. Chọn quá trình có thể sử dụng thanh không gian, làm cho nó dễ dàng hơn để theo dõi và theo dõi một quá trình cụ thể (hoặc quy trình, vì bạn có thể chọn nhiều hơn một tại một thời điểm). Và với một chức năng tìm kiếm, nó thậm chí còn dễ dàng hơn để kiểm tra và chú ý đến các quy trình cụ thể. Htop thậm chí có một biểu đồ thanh đại diện cho các tài nguyên hệ thống khác nhau, cho phép bạn dễ dàng xem có bao nhiêu CPU hoặc RAM được cấp phát.

Dưới đây là ví dụ về htop trông như thế nào:

 

1 [ 0.0%] Tasks: 35, 113 thr; 1 running
2 [|| 1.3%] Load average: 0.01 0.05 0.01
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 799M/2.00G] Uptime: 4 days, 22:53:28
Swp[ 0K/0K]

PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
 9357 mysql 20 0 1625M 196M 1944 S 0.7 9.6 4:54.66 /usr/sbin/mysqld
26708 root 20 0 26520 4092 1464 R 0.7 0.2 0:00.66 htop
 1 root 20 0 129484 3716 2412 S 0.0 0.2 0:03.03 systemd
(continued)

Với các thanh ở trên cùng, thật dễ dàng để biết hệ thống của bạn đang hoạt động như thế nào chỉ với một nháy mắt, cùng với thông tin chi tiết có thể tùy chỉnh có sẵn ngay bên dưới chúng.

Bằng cách sử dụng bất kỳ công cụ nào trong số này, bạn có thể dễ dàng tìm thấy thông tin chính xác mà bạn cần về các dịch vụ và quy trình của bạn.

PS. Nếu bạn thích bài đăng này về cách xem dịch vụ nào đang chạy trong Linux, hãy chia sẻ với bạn bè của bạn thông qua phương tiện truyền thông xã hội bằng cách sử dụng phím tắt chia sẻ hoặc chỉ để lại nhận xét bên dưới. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *