Skip to content

Tri Thức Công Nghệ

Tri Thức Công Nghệ

  • Home » 
  • Máy Tính » 
  • Daemon trong Linux là Gì và Cách Quản Lý Chúng Hiệu Quả với systemctl

Daemon trong Linux là Gì và Cách Quản Lý Chúng Hiệu Quả với systemctl

By Administrator Tháng 8 1, 2025
Danh sách các đơn vị (units) của systemd hiển thị trên terminal Linux khi chạy lệnh systemctl list-units.
Table of Contents

Nếu bạn là người dùng Linux hoặc làm việc trong lĩnh vực công nghệ, có lẽ bạn đã từng nghe đến thuật ngữ “daemon”. Liệu chúng có đáng sợ không? Hay đây là một phần thiết yếu của hệ điều hành mà bạn nên hiểu rõ? Thực tế, các chương trình hỗ trợ nhỏ bé này là một phần quan trọng của Linux, giúp hệ thống của bạn hoạt động ổn định và chạy các dịch vụ thiết yếu một cách hiệu quả.

Bài viết này sẽ đi sâu vào khái niệm daemon, nguồn gốc của chúng, và quan trọng hơn, cách bạn có thể dễ dàng quản lý chúng bằng các lệnh đơn giản, đặc biệt là với công cụ systemctl hiện đại. Nắm vững cách quản lý daemon sẽ giúp bạn kiểm soát tốt hơn hệ thống Linux của mình, đảm bảo các tác vụ và dịch vụ chạy nền được thực thi trơn tru.

Daemon là Gì trong Linux?

Trong Linux, daemon là các chương trình chạy độc lập trong nền để thực hiện nhiều tác vụ khác nhau trên hệ thống. Chúng là những “người giúp việc” thầm lặng, chịu trách nhiệm cho các công việc như chạy cron để thực thi các tác vụ theo lịch trình, lắng nghe các kết nối mạng đến, dọn dẹp hệ thống tập tin, và vô số các nhiệm vụ khác. Các daemon thường có tên kết thúc bằng “-d” để dễ nhận biết.

Khái niệm này xuất hiện vào những năm 1960 với dự án MULTICS, một nỗ lực đầy tham vọng nhằm tạo ra thứ mà ngày nay được gọi là “điện toán đám mây”. Nhà khoa học máy tính Fernando Corbató của MIT được ghi nhận là người đã đặt ra thuật ngữ này trong bối cảnh máy tính, lấy cảm hứng từ thí nghiệm tư duy của nhà vật lý James Clark Maxwell về một con quỷ tưởng tượng phân loại các phân tử, được gọi là “Quỷ Maxwell” (Maxwell’s Demon).

Corbató sau này đã viết về nguồn cảm hứng cho thuật ngữ này:

“Quỷ Maxwell là một tác nhân tưởng tượng giúp phân loại các phân tử có tốc độ khác nhau và làm việc không ngừng nghỉ trong nền. Chúng tôi đã dùng từ daemon một cách sáng tạo để mô tả các tiến trình chạy nền làm việc không mệt mỏi để thực hiện các công việc hệ thống.”

Trên các hệ điều hành đa nhiệm khác, những loại chương trình này thường được gọi là “dịch vụ” (services). Đây có lẽ là cách tốt nhất để hình dung về daemon.

Một ví dụ điển hình là crond (phát âm là “cron-đê”), chịu trách nhiệm thực thi các tác vụ được chỉ định trong các tệp crontab. Trên các bản phân phối Linux lớn hiện đại, các tác vụ mà trước đây được xử lý bởi một daemon riêng biệt đang ngày càng nằm dưới “ô dù” của systemd. Nếu bạn kiểm tra các daemon đang chạy, bạn sẽ thấy những cái tên như systemd-networkd (quản lý mạng), systemd-journald (ghi nhật ký hệ thống), và systemd-timesyncd (đồng bộ hóa thời gian).

Các hệ thống Linux hiện đại sẽ có rất nhiều daemon chạy trong nền, đặc biệt là trên các máy chủ. Ngay cả trên các hệ thống máy tính để bàn, cũng có thể có hàng chục, thậm chí hàng trăm daemon hoạt động âm thầm. Đó là một lý do tại sao bạn nên tắt hệ thống một cách duyên dáng thay vì chỉ nhấn nút nguồn khi có thể, để đảm bảo tất cả các dịch vụ nền được đóng đúng cách.

Cách xem các Daemon đang hoạt động trên Linux

Bạn có thể xem các daemon nào đang chạy trên hệ thống của mình bằng một vài lệnh đơn giản.

Cách dễ nhất trên hầu hết các bản phân phối hiện đại là sử dụng lệnh systemctl do systemd cung cấp. Bạn có thể xem tất cả các dịch vụ trên hệ thống của mình chỉ bằng cách sử dụng systemctl một mình. Một “unit” (đơn vị) là một tệp văn bản nhỏ cho systemd biết cách tải một chương trình, và các đơn vị khác mà một đơn vị có thể yêu cầu, được gọi là “dependencies” (phụ thuộc), tương tự như trong quản lý gói.

systemctl list-units

Danh sách các đơn vị (units) của systemd hiển thị trên terminal Linux khi chạy lệnh systemctl list-units.Danh sách các đơn vị (units) của systemd hiển thị trên terminal Linux khi chạy lệnh systemctl list-units.

Bạn cũng có thể xem các đơn vị systemd thực sự là daemon bằng cách liệt kê các dịch vụ (services), đây là thuật ngữ mà systemd đã áp dụng:

systemctl list-units --type=service

Kết quả hiển thị các dịch vụ (services) đang hoạt động trên hệ thống Linux thông qua lệnh systemctl list-units --type=service.Kết quả hiển thị các dịch vụ (services) đang hoạt động trên hệ thống Linux thông qua lệnh systemctl list-units –type=service.

Lệnh này sẽ liệt kê tất cả các đơn vị dịch vụ được cài đặt trên hệ thống của bạn. Để xem những dịch vụ nào thực sự đang chạy, bạn có thể sử dụng lệnh này:

systemctl list-units --type=service state=active

Bảng liệt kê các dịch vụ (services) đang chạy (active) trên Linux được hiển thị bằng lệnh systemctl list-units --type=service state=active.Bảng liệt kê các dịch vụ (services) đang chạy (active) trên Linux được hiển thị bằng lệnh systemctl list-units –type=service state=active.

Điều này sẽ cung cấp cho bạn danh sách các dịch vụ đang chạy. Trên máy ảo Debian này, chúng ta có một số dịch vụ đang hoạt động, bao gồm Avahi (cho phép hệ thống tự động kết nối với các thiết bị khác như máy in trên mạng cục bộ), và NetworkManager (xử lý kết nối mạng). Bạn có thể thấy chúng được trình bày gọn gàng trong một bảng. Phần “description” (mô tả) cho bạn biết các dịch vụ này thực sự làm gì.

Trình quản lý tác vụ của Windows (Windows Task Manager) thường bắt bạn tự tìm kiếm xem các dịch vụ có tên “bí ẩn” đó làm gì, mặc dù họ cũng có một liên kết nhanh để tìm kiếm thông tin.

Cách cổ điển khác để xem các daemon đang chạy là sử dụng lệnh ps. Chúng ta có thể sử dụng tùy chọn “aux” để xem tất cả các tiến trình trên hệ thống, bất kể chúng thuộc về ai, vì hầu hết các tiến trình thuộc về siêu người dùng (superuser), và rất có thể bạn không phải là siêu người dùng. Nếu bạn là root, bạn nên thay đổi điều đó nhanh chóng bằng cách thiết lập tài khoản người dùng riêng của mình.

Để xem tất cả các tiến trình trên hệ thống với ps:

ps aux

Danh sách tất cả các tiến trình (processes) đang hoạt động trên Linux bao gồm daemons, hiển thị bởi lệnh ps aux trong terminal.Danh sách tất cả các tiến trình (processes) đang hoạt động trên Linux bao gồm daemons, hiển thị bởi lệnh ps aux trong terminal.

Bạn sẽ không có nhiều thông tin về việc cái nào là daemon, nhưng một gợi ý tốt là nếu tên kết thúc bằng “-d” như đã đề cập trước đó. Trường “TTY” cũng thường có dấu “?” (dấu hỏi), cho biết rằng chúng được khởi động mà không có thiết bị đầu cuối điều khiển.

Giao diện của công cụ htop hiển thị các tiến trình và daemon đang chạy trên hệ thống Linux với màu sắc rõ ràng.Giao diện của công cụ htop hiển thị các tiến trình và daemon đang chạy trên hệ thống Linux với màu sắc rõ ràng.

Bạn cũng có thể xem tất cả các tiến trình đang chạy, bao gồm cả daemon, với top hoặc htop, công cụ cung cấp giao diện hiển thị màu sắc đẹp mắt hơn.

Bật và Tắt Daemon trên Linux

Bạn có thể bật và tắt daemon theo ý muốn. Linux truyền thống là một hệ thống dành cho các chuyên gia và đặt ít rào cản trên con đường bạn quản lý hệ thống theo cách bạn muốn.

Cách phổ biến nhất để thêm một daemon mới vào hệ thống của bạn là cài đặt nó từ trình quản lý gói của bạn. Ví dụ, nếu bạn muốn cài đặt máy chủ web NGINX trên hệ thống Debian hoặc Ubuntu, giả sử bạn có quyền quản trị:

sudo apt install nginx

Điều gì xảy ra sau đó phụ thuộc vào bản phân phối bạn đang sử dụng. Một số bản phân phối, như Debian và Ubuntu, sẽ tự động bật dịch vụ khi khởi động. Những bản khác, như Arch, thường sẽ để công việc đó cho bạn. Việc này rất dễ dàng với systemctl.

Để bật một daemon (khiến nó tự khởi động cùng hệ thống):

sudo systemctl enable ten_daemon.service

Ví dụ, để bật dịch vụ NGINX:

sudo systemctl enable nginx.service

Vô hiệu hóa daemon bằng systemctl cũng tương tự:

sudo systemctl disable nginx.service

Hãy đảm bảo bạn biết rõ chức năng của một daemon trước khi vô hiệu hóa nó, đặc biệt là những cái được cài đặt sẵn cùng hệ thống của bạn. Nếu không chắc chắn, hãy để yên.

Khởi động và Dừng Daemon trên Linux

Bạn không cần phải đợi khởi động lại để thực hiện thay đổi đối với các daemon đang chạy. Bạn có thể khởi động và dừng daemon theo ý muốn miễn là bạn có quyền quản trị. Trên hầu hết các hệ thống Linux, điều này có nghĩa là bạn có quyền truy cập thông qua mật khẩu root hoặc sudo. Chúng ta sẽ sử dụng sudo.

Bạn có thể muốn khởi động một daemon sau khi đã cài đặt nó. Tùy thuộc vào bản phân phối, nó có thể được khởi động tự động khi bạn cài đặt một daemon từ trình quản lý gói của bản phân phối của bạn. Debian và Ubuntu là những ví dụ điển hình. Trên các bản phân phối khác, bạn có thể phải tự chịu trách nhiệm khởi động nó. Arch Linux là một ví dụ điển hình.

Hoặc bạn có thể muốn khởi động lại một daemon sau khi bạn đã dừng nó trước đó.

Giả sử bạn muốn khởi động máy chủ web NGINX. Để làm điều đó bằng systemctl:

sudo systemctl start nginx.service

Bạn cũng có thể dừng các dịch vụ đang chạy. Một lần nữa, bạn có thể sử dụng systemctl để dừng tiến trình:

sudo systemctl stop nginx.service

Việc khởi động và dừng các tiến trình theo cách này sẽ chỉ ảnh hưởng đến phiên làm việc hiện tại. Để thực hiện các thay đổi vĩnh viễn hơn, bạn sẽ phải bật hoặc tắt dịch vụ bằng các phương pháp đã đề cập trong phần “Bật và Tắt Daemon trên Linux”.

Thông thường, bạn sẽ muốn khởi động lại một daemon. Bạn có thể đã cập nhật phiên bản của daemon đang chạy, hoặc đã thực hiện thay đổi đối với tệp cấu hình của nó. Một cách để làm điều này là dừng rồi sau đó khởi động lại daemon:

sudo systemctl stop ten_daemon.service
sudo systemctl start ten_daemon.service

Bạn có thể thực hiện điều này trong một lệnh duy nhất và tiết kiệm một chút thao tác gõ phím với lệnh systemctl restart. Giả sử bạn đã thực hiện thay đổi đối với máy chủ NGINX của mình và muốn kiểm tra chúng. Bạn có thể sử dụng lệnh này:

sudo systemctl restart nginx.service

Đó là cách dễ dàng trên một hệ thống Linux hiện đại. Ngay cả với những lời phàn nàn về sự “cồng kềnh” của systemd, nó đã giúp việc khởi động và dừng các tiến trình trở nên dễ dàng hơn mà không cần phải đào bới các symbolic links như cách tôi đã phải làm với hệ thống SysVInit cũ. Tôi cho rằng rất nhiều nhà phát triển và quản trị viên hệ thống khác cũng cảm thấy như vậy, xét về tốc độ systemd được chấp nhận trong hệ sinh thái Linux.

Kết luận

Daemon thoạt nhìn có vẻ phức tạp nếu bạn chưa quen với chúng, nhưng chỉ cần vài lệnh cơ bản là bạn có thể dễ dàng “thuần hóa” chúng trên hệ thống Linux của mình. Có thể bạn không nhận ra sự hiện diện của chúng, nhưng daemon luôn ở đó, hoạt động thầm lặng trong nền để giúp hệ thống Linux của bạn hoạt động hiệu quả và giúp cuộc sống của bạn dễ dàng hơn.

Việc hiểu và quản lý daemon một cách hiệu quả là kỹ năng quan trọng đối với bất kỳ ai sử dụng hoặc quản trị Linux. Với các công cụ như systemctl, quá trình này trở nên trực quan và mạnh mẽ hơn bao giờ hết. Hãy tiếp tục khám phá và tận dụng tối đa sức mạnh của hệ điều hành mã nguồn mở này!

Share
facebookShare on FacebooktwitterShare on TwitterpinterestShare on Pinterest
linkedinShare on LinkedinvkShare on VkredditShare on ReddittumblrShare on TumblrviadeoShare on ViadeobufferShare on BufferpocketShare on PocketwhatsappShare on WhatsappviberShare on ViberemailShare on EmailskypeShare on SkypediggShare on DiggmyspaceShare on MyspacebloggerShare on Blogger YahooMailShare on Yahoo mailtelegramShare on TelegramMessengerShare on Facebook Messenger gmailShare on GmailamazonShare on AmazonSMSShare on SMS
Post navigation
Previous post

Chọn Phần Mềm Quản Lý Mật Khẩu Tốt Nhất: Bảo Vệ Dữ Liệu Cá Nhân Trong Kỷ Nguyên Số

Next post

Top 10 Game PC Tháng 6/2025: Những Tựa Game Đỉnh Cao Sắp Ra Mắt Không Thể Bỏ Lỡ

Administrator

Related Posts

Categories Máy Tính Daemon trong Linux là Gì và Cách Quản Lý Chúng Hiệu Quả với systemctl

Những Sai Lầm Phổ Biến Cần Tránh Khi Chọn Mua Màn Hình Máy Tính

Categories Máy Tính Daemon trong Linux là Gì và Cách Quản Lý Chúng Hiệu Quả với systemctl

Tuyệt Chiêu Tinh Chỉnh Windows 11 Bằng Registry: Nâng Tầm Trải Nghiệm Của Bạn

Categories Máy Tính Daemon trong Linux là Gì và Cách Quản Lý Chúng Hiệu Quả với systemctl

Link to Windows: Điều Khiển Máy Tính Toàn Diện Từ Điện Thoại Android Của Bạn

Recent Posts

  • Minigame: Từ Trò Chơi Nhỏ Đến Huyền Thoại Giải Trí Trong Thế Giới Game
  • Tự Chủ Dữ Liệu Số: 5 Chiến Lược Giúp Bạn Kiểm Soát Hoàn Toàn Thông Tin Cá Nhân
  • Cách Tùy Chỉnh Biểu Tượng Ứng Dụng Android Chuyên Nghiệp Với Icon Pack Studio
  • Đánh Giá Tính Năng Workout Buddy Của Apple Watch: Apple Lãng Phí Cơ Hội AI Thể Chất?
  • NYT Connections: Gợi Ý & Đáp Án Mới Nhất – Chinh Phục Thử Thách Từ Vựng Mỗi Ngày

Recent Comments

Không có bình luận nào để hiển thị.
Copyright © 2025 Tri Thức Công Nghệ - Powered by Nevothemes.
Offcanvas
Offcanvas

  • Lost your password ?