Email Doanh NghiệpSSLFirewall Anti DDoSTối ưu tốc độ website

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Sử dụng lệnh systemctl trong Linux: Quản lý dịch vụ dễ dàn

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:15/05/2025
Lượt xem

Đánh giá

Lệnh systemctl là một công cụ dòng lệnh trong Linux, giúp quản lý dịch vụ và trạng thái hệ thống thông qua systemd. Bài viết này sẽ giúp bạn hiểu rõ lệnh systemctl là gì, cách kiểm tra và liệt kê các dịch vụ đang hoạt động, cũng như cách phân tích trạng thái hệ thống một cách hiệu quả. Ngoài ra, bạn sẽ nắm được các lệnh chẩn đoán quan trọng và một số ví dụ nâng cao như quản lý dependencies, cấu hình service hay điều khiển reboot và shutdown.

Điểm chính cần nắm

  • Lệnh systemctl là gì?: Giới thiệu công cụ systemctl và vai trò của nó trong việc quản lý dịch vụ với systemd.
  • Cách liệt kê các dịch vụ đang hoạt động: Hướng dẫn cách hiển thị danh sách dịch vụ đang chạy bằng lệnh systemctl.
  • Kiểm tra trạng thái dịch vụ: Trình bày cách kiểm tra hoạt động, trạng thái và log của một dịch vụ cụ thể.
  • Một số lệnh hữu ích khi làm việc với systemd/systemctl: Tổng hợp các lệnh hỗ trợ chẩn đoán, phân tích và kiểm tra hệ thống.
  • Một số ví dụ nâng cao khi sử dụng systemctl trong Linux: Hướng dẫn thao tác nâng cao như kill, xem cấu hình, kiểm tra dependencies và điều khiển hệ thống.
  • Vietnix – Giải pháp lưu trữ hiệu suất cao cho website ổn định và nhanh chóng: Giới thiệu dịch vụ hosting và VPS tốc độ cao, hỗ trợ 24/7 từ Vietnix.
  • FAQ: Trả lời các câu hỏi thường gặp giúp người dùng hiểu rõ hơn về cách sử dụng lệnh systemctl.

Lệnh systemctl là gì?

Lệnh systemctl là một tiện ích dòng lệnh cho phép bạn tương tác với systemd – trình quản lý hệ thống và dịch vụ hiện đại trong Linux. Hầu hết các bản phân phối phổ biến như Ubuntu, CentOS, Debian,… đều đã dùng systemd làm mặc định, và systemctl chính là công cụ chính để quản lý các thành phần bên trong đó.

Lệnh systemctl là một công cụ dòng lệnh trong Linux, giúp quản lý dịch vụ và trạng thái hệ thống thông qua systemd
Lệnh systemctl là một công cụ dòng lệnh trong Linux, giúp quản lý dịch vụ và trạng thái hệ thống thông qua systemd

Systemd chịu trách nhiệm cho rất nhiều tác vụ quan trọng như:

  • Khởi động hệ thống
  • Quản lý các dịch vụ (web server, SSH, cron,…)
  • Ghi log hệ thống
  • Gắn kết hệ thống file tự động
  • Thiết lập hostname, thời gian hệ thống và nhiều hơn nữa

Systemd hoạt động dựa trên các “unit” – có thể là service, socket, target, mount,… Và lệnh systemctl giúp bạn kiểm soát các unit này: khởi động, dừng, kích hoạt, kiểm tra trạng thái hoặc phân tích lỗi.

Cách liệt kê các dịch vụ đang hoạt động

Nếu bạn muốn biết hệ thống đang chạy những dịch vụ nào, hãy dùng lệnh:

sudo systemctl list-units --type service

Lệnh này sẽ liệt kê các service đã được loadđang active. Kết quả gồm các cột như:

  • UNIT: Tên service
  • LOAD: Service đã load vào bộ nhớ hay chưa
  • ACTIVE: Trạng thái kích hoạt (active, inactive, failed,…)
  • SUB: Trạng thái cụ thể hơn (running, exited, dead,…)
  • DESCRIPTION: Mô tả ngắn gọn

Một vài biến thể hữu ích khác:

  • Xem cả dịch vụ đang inactive: sudo systemctl list-units --type=service --all
  • Xem toàn bộ unit file (bao gồm cả chưa chạy): sudo systemctl list-unit-files

Kiểm tra trạng thái dịch vụ

Một trong những thao tác cơ bản nhưng rất quan trọng khi làm việc với Linux là kiểm tra trạng thái của các dịch vụ. Bạn có thể thực hiện điều này dễ dàng bằng lệnh:

sudo systemctl status <service_name>

Trong đó, <tên_service> là tên của dịch vụ bạn muốn kiểm tra, ví dụ như nginx, cron, ssh,…

Ví dụ kiểm tra Bluetooth:

sudo systemctl status bluetooth

Lệnh trên sẽ hiển thị các thông tin như:

  • Trạng thái hiện tại (active, inactive, failed,…)
  • PID của tiến trình chính
  • File unit đang sử dụng
  • Thời gian dịch vụ được kích hoạt
  • Một vài dòng log gần nhất của dịch vụ
Ví dụ kiểm tra trạng thái dịch vụ Bluetooth
Ví dụ kiểm tra trạng thái dịch vụ Bluetooth

Nếu chỉ muốn kiểm tra dịch vụ có đang active hay không, dùng lệnh sau để nhận kết quả gọn gàng, chỉ trả về một từ:

systemctl is-active bluetooth

Kết quả thường là:

  • failed – dịch vụ gặp lỗi khi khởi động
  • active – dịch vụ đang chạy
  • inactive – dịch vụ không chạy
Chỉ nhận trạng thái dịch vụ đơn giản active, inactive hay failed
Chỉ nhận trạng thái dịch vụ đơn giản active, inactive hay failed

Một số lệnh hữu ích khi làm việc với systemd/systemctl

Ngoài các thao tác trực tiếp với lệnh systemctl, bạn có thể kết hợp nhiều lệnh khác trong Linux để kiểm tra môi trường, chẩn đoán lỗi và tối ưu hệ thống sử dụng systemd. Dưới đây là một số lệnh phổ biến:

1. Kiểm tra phiên bản của systemctl và xác nhận systemd có mặt trong hệ thống

systemctl --version

Lệnh này sẽ hiển thị phiên bản của systemdsystemctl hiện có. Qua đó, bạn biết chắc rằng hệ thống đang sử dụng systemd thay vì init truyền thống.

Kiểm tra phiên bản của systemctl và xác nhận systemd có mặt trong hệ thống
Kiểm tra phiên bản của systemctl và xác nhận systemd có mặt trong hệ thống

2. Kiểm tra vị trí cài đặt của systemd và systemctl

whereis systemd
whereis systemctl

Lệnh whereis giúp bạn xác định các tệp thực thi, thư mục cấu hình hoặc tài liệu man liên quan.

Kiểm tra vị trí cài đặt của systemd và systemctl
Kiểm tra vị trí cài đặt của systemd và systemctl

3. Kiểm tra systemd có đang chạy hay không

ps -eaf | grep [s]ystemd

Lệnh này tìm tiến trình systemd đang hoạt động, giúp xác minh systemd thực sự đang quản lý hệ thống.

Kiểm tra systemd có đang chạy hay không
Kiểm tra systemd có đang chạy hay không

4. Phân tích thời gian khởi động hệ thống

systemd-analyze

Cho biết tổng thời gian khởi động, bao gồm kernel, initrd và userspace – rất hữu ích khi bạn cần tối ưu boot time.

Phân tích thời gian khởi động hệ thống
Phân tích thời gian khởi động hệ thống

5. Liệt kê tất cả các unit đang chạy

systemctl list-units

Hiển thị danh sách các unit hiện đang hoạt động, không chỉ riêng service mà còn bao gồm mount, socket, target,…

Liệt kê tất cả các unit đang chạy
Liệt kê tất cả các unit đang chạy

6. Liệt kê tất cả unit đã được cài đặt (bất kể đang chạy hay không)

systemctl list-unit-files

Thông tin này giúp bạn biết dịch vụ nào đã được enable hoặc disable, kể cả khi chưa chạy.

Liệt kê tất cả unit đã được cài đặt (bất kể đang chạy hay không)
Liệt kê tất cả unit đã được cài đặt (bất kể đang chạy hay không)

7. Xem các unit bị lỗi khi khởi động hoặc đang ở trạng thái thất bại

systemctl list-units

Rất hữu ích để phát hiện sớm sự cố và xử lý lỗi nhanh chóng.

Xem các unit bị lỗi khi khởi động hoặc đang ở trạng thái thất bại
Xem các unit bị lỗi khi khởi động hoặc đang ở trạng thái thất bại

8. Kiểm tra một service có đang được kích hoạt khởi động cùng hệ thống hay không

systemctl is-enabled crond.service

Kết quả có thể là enabled, disabled, static, hoặc masked.

Kiểm tra một service có đang được kích hoạt khởi động cùng hệ thống hay không
Kiểm tra một service có đang được kích hoạt khởi động cùng hệ thống hay không

9. Kiểm tra trạng thái chi tiết của một dịch vụ cụ thể

systemctl status firewalld.service

Cho bạn biết dịch vụ có đang hoạt động không, PID, log gần nhất và thời điểm khởi động.

Kiểm tra trạng thái chi tiết của một dịch vụ cụ thể
Kiểm tra trạng thái chi tiết của một dịch vụ cụ thể

Một số ví dụ nâng cao khi sử dụng systemctl trong Linux

Khi đã quen với các thao tác cơ bản, bạn có thể sử dụng systemctl để quản lý dịch vụ một cách linh hoạt và hiệu quả hơn. Dưới đây là một số ví dụ thực tế giúp bạn làm chủ công cụ này:

1. Khởi động, dừng, khởi động lại, tải lại và kiểm tra trạng thái dịch vụ

systemctl start httpd.service     # Khởi động dịch vụ httpd
systemctl restart httpd.service   # Khởi động lại dịch vụ (dừng + chạy lại)
systemctl stop httpd.service      # Dừng dịch vụ
systemctl reload httpd.service    # Tải lại cấu hình dịch vụ mà không dừng dịch vụ
systemctl status httpd.service    # Kiểm tra trạng thái dịch vụ

Bạn có thể thay thế bằng tên dịch vụ khác, vì:

  • httpd là tên dịch vụ của Apache trên CentOS, Fedora, RHEL.
  • Trên Ubuntu/Debian, dịch vụ Apache có tên là apache2.

2. Kết thúc (kill) một dịch vụ ngay lập tức

systemctl kill httpd

Lệnh này sẽ gửi tín hiệu để dừng dịch vụ httpd hoàn toàn, khác với stop ở chỗ kill sẽ kết thúc ngay lập tức, không qua quá trình dừng dịch vụ thông thường.

3. Xem thông tin cấu hình chi tiết của một dịch vụ

systemctl show httpd

Lệnh này trả về rất nhiều thông tin chi tiết về cấu hình của dịch vụ, bao gồm các tham số khởi động, trạng thái, đường dẫn file, các biến môi trường, và nhiều hơn nữa.

4. Liệt kê tất cả các dịch vụ, unit phụ thuộc (dependencies) của một dịch vụ

systemctl list-dependencies httpd.service

Lệnh này giúp bạn hiểu dịch vụ httpd phụ thuộc vào những unit nào để chạy, rất hữu ích khi xử lý lỗi hoặc tối ưu hệ thống.

5. Điều khiển trạng thái hệ thống (shutdown, reboot, suspend,…

Bạn cũng có thể dùng systemctl để thay thế các lệnh truyền thống như reboot hay halt:

systemctl reboot         # Khởi động lại hệ thống
systemctl halt           # Tắt hệ thống
systemctl suspend        # Tạm ngừng hệ thống (ngủ)
systemctl hibernate      # Ngủ đông (lưu trạng thái RAM vào ổ cứng và tắt)
systemctl hybrid-sleep   # Kết hợp giữa suspend và hibernate

Vietnix – Giải pháp lưu trữ hiệu suất cao cho website ổn định và nhanh chóng

Vietnix cung cấp các dịch vụ hosting, VPS và máy chủ tối ưu tốc độ, đảm bảo hiệu suất ổn định, bảo mật cao và thời gian phản hồi nhanh. Với hệ thống máy chủ hiện đại đặt tại Việt Nam cùng đội ngũ kỹ thuật giàu kinh nghiệm, Vietnix giúp website hoạt động mượt mà, an toàn, kể cả trong những thời điểm tải cao. Ngoài ra, bạn sẽ luôn nhận được sự hỗ trợ tận tâm 24/7 từ đội ngũ kỹ thuật, giúp xử lý sự cố nhanh chóng và đảm bảo vận hành liên tục.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.

Câu hỏi thường gặp

Lệnh systemctl là gì và dùng để làm gì trong Linux?

systemctl là công cụ dòng lệnh để quản lý dịch vụ (services) và các đơn vị (units) trong hệ thống sử dụng systemd. Nó giúp khởi động, dừng, kiểm tra trạng thái dịch vụ, và kiểm soát quá trình khởi động hệ thống.

Làm sao để kiểm tra trạng thái một dịch vụ với lệnh systemctl?

Dùng lệnh systemctl status <tên-dịch-vụ>. Ví dụ: systemctl status apache2.

Tại sao máy chủ Ubuntu báo “systemctl command not found”?

Có thể là hệ thống đang dùng init thay vì systemd, hoặc gói systemd chưa được cài. Bạn có thể kiểm tra với ps -p 1 -o comm= hoặc cài systemd bằng sudo apt install systemd.

Systemctl có thể dùng trên mọi phiên bản Ubuntu không?

Có, miễn là hệ thống đang dùng systemd (Ubuntu 15.04 trở lên dùng mặc định).

Vì sao một số dịch vụ không khởi động được bằng systemctl trên Ubuntu?

Có thể do thiếu quyền root, file unit sai cấu hình, hoặc service phụ thuộc chưa được load. Kiểm tra lỗi cụ thể bằng journalctl -xe hoặc systemctl status.

Có thể tạo dịch vụ tùy chỉnh (custom service) bằng systemctl không?

Có, bạn có thể tạo file .service trong /etc/systemd/system/ và dùng systemctl daemon-reload để nhận diện.

Lời kết

Thành thạo các lệnh systemctl giúp bạn kiểm soát dịch vụ hiệu quả, tối ưu hóa vận hành hệ thống và xử lý sự cố nhanh chóng. Nếu bạn có bất kỳ thắc mắc nào khi làm việc với systemctl, đừng ngần ngại để lại câu hỏi ở phần bình luận. Hoặc bạn có thể tham khảo thêm tài liệu trên blog để đào sâu từng lệnh cụ thể. Đừng quên lưu lại bài viết để sử dụng khi cần thiết nhé.

Mọi người cũng xem:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi 30 tháng 4
Khi mua Hosting/VPS
16/04/2025 - 16/05/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG