Lesson 7 - Quản Lý Services và Processes trên Ubuntu

28/06/2024 - 5 phút

Follow  on Google News

Trong bài học này, chúng ta sẽ tìm hiểu cách quản lý dịch vụ và quy trình trong hệ thống Linux. Việc quản lý dịch vụ và quy trình là một phần quan trọng trong việc duy trì hoạt động ổn định và hiệu quả của hệ thống. Chúng ta sẽ học cách sử dụng các lệnh như systemctl, service để quản lý dịch vụ và các lệnh như ps, top, htop, và kill để quản lý quy trình.

1. Quản Lý Dịch Vụ

systemctl: Quản Lý Dịch Vụ Hệ Thống

Lệnh systemctl là công cụ chính để quản lý dịch vụ trong các hệ thống sử dụng systemd.

LệnhMô tảVí dụ
systemctl startKhởi động một dịch vụsudo systemctl start nginx
systemctl stopDừng một dịch vụsudo systemctl stop nginx
systemctl restartKhởi động lại một dịch vụsudo systemctl restart nginx
systemctl enableKích hoạt dịch vụ để tự động khởi động khi bootsudo systemctl enable nginx
systemctl disableVô hiệu hóa dịch vụ không tự động khởi động khi bootsudo systemctl disable nginx
systemctl statusKiểm tra trạng thái của dịch vụsudo systemctl status nginx

Ví dụ chi tiết:

  1. Cài đặt Nginx:

    sudo apt update
    sudo apt install nginx
    
  2. Khởi động Nginx:

    sudo systemctl start nginx
    
  3. Kiểm tra trạng thái của Nginx:

    sudo systemctl status nginx
    

    Kết quả sẽ hiển thị trạng thái hiện tại của dịch vụ Nginx, bao gồm thông tin về PID, thời gian chạy và các thông báo lỗi nếu có.

  4. Dừng Nginx:

    sudo systemctl stop nginx
    
  5. Khởi động lại Nginx:

    sudo systemctl restart nginx
    
  6. Kích hoạt Nginx để tự động khởi động khi hệ thống khởi động:

    sudo systemctl enable nginx
    
  7. Vô hiệu hóa Nginx để không tự động khởi động khi hệ thống khởi động:

    sudo systemctl disable nginx
    

service: Quản Lý Dịch Vụ Truyền Thống

Lệnh service được sử dụng để quản lý các dịch vụ trên các hệ thống không sử dụng systemd.

LệnhMô tảVí dụ
service startKhởi động một dịch vụsudo service nginx start
service stopDừng một dịch vụsudo service nginx stop
service restartKhởi động lại một dịch vụsudo service nginx restart
service statusKiểm tra trạng thái của dịch vụsudo service nginx status

Ví dụ chi tiết:

  1. Khởi động Nginx:

    sudo service nginx start
    
  2. Kiểm tra trạng thái của Nginx:

    sudo service nginx status
    
  3. Dừng Nginx:

    sudo service nginx stop
    
  4. Khởi động lại Nginx:

    sudo service nginx restart
    

2. Quản Lý Quy Trình

ps: Hiển Thị Quy Trình Đang Chạy

Lệnh ps được sử dụng để hiển thị các quy trình đang chạy trong hệ thống.

LệnhMô tảVí dụ
psHiển thị các quy trình của người dùng hiện tạips
ps auxHiển thị tất cả các quy trình đang chạyps aux
ps -efHiển thị các quy trình với định dạng đầy đủps -ef

Ví dụ chi tiết:

  1. Hiển thị các quy trình của người dùng hiện tại:

    ps
    
  2. Hiển thị tất cả các quy trình đang chạy:

    ps aux
    
  3. Hiển thị các quy trình với định dạng đầy đủ:

    ps -ef
    

top: Theo Dõi Quy Trình Thời Gian Thực

Lệnh top cung cấp một giao diện tương tác để theo dõi các quy trình đang chạy trong thời gian thực.

LệnhMô tảVí dụ
topHiển thị các quy trình đang chạy trong thời gian thựctop

Ví dụ chi tiết:

  1. Chạy top:

    top
    

    Giao diện top sẽ hiển thị danh sách các quy trình đang chạy trong thời gian thực, bao gồm thông tin về CPU, bộ nhớ và thời gian chạy. Bạn có thể sử dụng các phím tắt như q để thoát, k để giết quy trình, và r để thay đổi độ ưu tiên của quy trình.

htop: Giao Diện Theo Dõi Quy Trình Nâng Cao

Lệnh htop là phiên bản nâng cao của top với giao diện người dùng thân thiện hơn.

LệnhMô tảVí dụ
htopHiển thị các quy trình đang chạy trong thời gian thực với giao diện nâng caohtop

Ví dụ chi tiết:

  1. Cài đặt htop:

    sudo apt install htop
    
  2. Chạy htop:

    htop
    

    Giao diện htop sẽ hiển thị danh sách các quy trình đang chạy với giao diện đồ họa nâng cao, cho phép bạn dễ dàng theo dõi và quản lý các quy trình. Bạn có thể sử dụng các phím tắt như F10 để thoát, F9 để giết quy trình, và F2 để cấu hình htop.

kill: Dừng Quy Trình

Lệnh kill được sử dụng để dừng một quy trình đang chạy.

LệnhMô tảVí dụ
killGửi tín hiệu để dừng một quy trìnhkill PID
kill -9Gửi tín hiệu SIGKILL để dừng ngay lập tức một quy trìnhkill -9 PID

Ví dụ chi tiết:

  1. Hiển thị danh sách các quy trình đang chạy:

    ps aux
    

    Tìm ID quy trình (PID) của quy trình bạn muốn dừng.

  2. Dừng quy trình:

    kill 1234
    

    Lệnh này sẽ dừng quy trình có ID là 1234.

  3. Dừng ngay lập tức quy trình:

    kill -9 1234
    

    Lệnh này sẽ gửi tín hiệu SIGKILL để dừng ngay lập tức quy trình có ID là 1234.

Kết Luận

Qua bài học này, bạn đã nắm vững cách quản lý dịch vụ và quy trình trong hệ thống Linux. Những lệnh này là công cụ quan trọng giúp bạn duy trì và điều hành hệ thống một cách hiệu quả. Chúc bạn thực hành thành công và áp dụng kiến thức này vào công việc hàng ngày của mình.