Trên máy chủ Linux, mọi thứ chạy nền đều là dịch vụ hoặc tiến trình: máy chủ web, cơ sở dữ liệu, SSH... Khi một dịch vụ dừng hay chạy sai, biết cách kiểm tra trạng thái, khởi động lại và đọc log là kỹ năng thiết yếu để xử lý sự cố nhanh, thay vì phải đoán mò hoặc khởi động lại cả máy chủ. Bài viết hướng dẫn quản lý dịch vụ bằng `systemctl`, xem log bằng `journalctl` và quản lý tiến trình trên Linux hiện đại (dùng systemd). Hướng dẫn dành cho người mới đã quen đăng nhập SSH và một vài lệnh cơ bản.
Mục lục1. Trước khi bắt đầu2. Quản lý dịch vụ với systemctl3. Xem log với journalctl4. Quản lý tiến trình5. Phần nâng cao: tự khởi động lại và xoay vòng log6. Xử lý tình huống thường gặp7. Câu hỏi thường gặp7.1. systemctl và service khác nhau thế nào?7.2. Khi nào nên dùng kill -9?7.3. Log của tôi ở đâu?8. Kết luận
1. Trước khi bắt đầu
- Đã đăng nhập VPS Linux qua SSH với quyền sudo.
- Hệ thống dùng systemd (mặc định trên Ubuntu, AlmaLinux hiện nay).
2. Quản lý dịch vụ với systemctl
systemctl là công cụ chính để điều khiển dịch vụ:
- Xem trạng thái: systemctl status ten-dich-vu (ví dụ systemctl status nginx) cho biết dịch vụ đang chạy hay dừng, kèm vài dòng log gần nhất.
- Khởi động / dừng / khởi động lại: sudo systemctl start, stop, restart theo sau tên dịch vụ.
- Bật tự khởi động cùng máy: sudo systemctl enable ten-dich-vu; tắt tự khởi động dùng disable.
- Tải lại cấu hình mà không dừng hẳn: sudo systemctl reload ten-dich-vu (khi dịch vụ hỗ trợ).
Mẹo: enable --now vừa bật tự khởi động vừa chạy dịch vụ ngay.
3. Xem log với journalctl
journalctl đọc log tập trung do systemd quản lý:
- Xem log của một dịch vụ: journalctl -u ten-dich-vu.
- Theo dõi log theo thời gian thực: journalctl -u ten-dich-vu -f.
- Lọc theo thời gian: journalctl --since "1 hour ago" hoặc theo ngày.
- Xem log lần khởi động gần nhất: journalctl -b.
Log là nơi đầu tiên nên xem khi một dịch vụ lỗi: thông báo lỗi thường chỉ rõ nguyên nhân (sai cấu hình, thiếu quyền, cổng bị chiếm...).

4. Quản lý tiến trình
Bên cạnh dịch vụ, đôi khi cần thao tác trực tiếp với tiến trình:
- Liệt kê tiến trình: ps aux hoặc dùng top/htop để xem theo thời gian thực. Chi tiết về theo dõi tài nguyên có trong bài Kiểm tra tài nguyên VPS cùng nhóm.
- Tìm tiến trình: ps aux | grep ten-ung-dung.
- Dừng tiến trình: kill PID (gửi tín hiệu dừng bình thường); chỉ dùng kill -9 PID khi tiến trình không phản hồi, vì nó dừng đột ngột.
5. Phần nâng cao: tự khởi động lại và xoay vòng log
- Tự khởi động lại dịch vụ khi lỗi: trong file cấu hình dịch vụ (unit file), có thể đặt Restart=on-failure để systemd tự khởi động lại khi dịch vụ crash, tăng độ ổn định.
- Xoay vòng log (log rotation): log để lâu sẽ chiếm ổ đĩa. Với journald, giới hạn dung lượng log trong cấu hình; với log file truyền thống, dùng logrotate để nén và xóa log cũ định kỳ.
- Tạo dịch vụ riêng: với ứng dụng tự viết, có thể tạo một unit file systemd để quản lý như một dịch vụ (tự chạy, tự khởi động lại, ghi log tập trung).
6. Xử lý tình huống thường gặp
- Dịch vụ không khởi động: xem systemctl status và journalctl -u để tìm lỗi; thường là sai cấu hình hoặc cổng bị chiếm.
- Ổ đĩa đầy do log: kiểm tra dung lượng log, cấu hình giới hạn journald hoặc bật logrotate.
- Dịch vụ tự tắt lặp lại: xem log để tìm nguyên nhân gốc thay vì chỉ khởi động lại; cân nhắc Restart=on-failure sau khi đã xử lý gốc.
7. Câu hỏi thường gặp
7.1. systemctl và service khác nhau thế nào?
systemctl là công cụ của systemd, chuẩn trên các bản Linux hiện đại; lệnh service cũ hơn và thường chỉ là lớp tương thích gọi lại systemctl. Trên hệ thống mới, nên dùng systemctl.
7.2. Khi nào nên dùng kill -9?
Chỉ khi tiến trình không phản hồi với lệnh dừng bình thường (kill PID). kill -9 buộc dừng ngay, không cho tiến trình dọn dẹp, nên có thể để lại dữ liệu dở dang. Hãy thử cách nhẹ trước.
7.3. Log của tôi ở đâu?
Trên hệ thống dùng systemd, phần lớn log tập trung ở journald, xem bằng journalctl. Một số dịch vụ vẫn ghi log riêng vào /var/log. Để giám sát bảo mật và phân tích log bài bản hơn, xem bài Giám sát bảo mật và phân tích log bên chuyên mục An ninh.
8. Kết luận
Quản lý dịch vụ, tiến trình và log là kỹ năng cốt lõi để vận hành máy chủ Linux. Nắm systemctl để điều khiển dịch vụ, journalctl để đọc log, và các lệnh tiến trình cơ bản là đủ xử lý phần lớn sự cố. Khi cần độ ổn định cao, dùng tự khởi động lại và xoay vòng log để máy chủ tự chăm sóc tốt hơn. Thói quen xem log trước khi hành động sẽ giúp bạn tìm đúng nguyên nhân thay vì đoán mò.
Cần hỗ trợ kỹ thuật? Nếu cần hỗ trợ vận hành dịch vụ hoặc xử lý sự cố trên máy chủ Linux, liên hệ đội ngũ kỹ thuật Cloudzone qua hotline/Zalo 0906.489.647 hoặc email support@cloudzone.vn.
