Trong hướng dẫn này, chúng tôi giải thích cách dùng systemctl để liệt kê dịch vụ và kiểm tra trạng thái của chúng. Chúng tôi cũng sẽ bao gồm một số cách dùng khác cho systemctl.
Đến từ dịch vụ run_init, systemctl là một hơi thở tươi mới. Tôi chắc chắn có nhiều lý do tôi sai và tôi đã nghe tranh luận cho và chống nó và thay đổi ý kiến vài lần. Sau khi dùng nó hàng ngày ở công việc, tôi hiện ở phe systemctl. Ngôn ngữ của lệnh cảm thấy tự nhiên hơn. Ở mức độ chức năng hàng ngày, tôi thích nó. Tôi đã đón nhận sự thay đổi, và chống lại quay lại khi làm việc trên hệ thống cũ. Hãy đi qua systemctl và cách nó hoạt động.
Trạng thái Systemctl
Cách dùng đầu tiên và quan trọng nhất của systemctl là kiểm tra trạng thái dịch vụ. Cú pháp:
#systemctl command argument #systemctl status service

systemctl status service
Đó là info dịch vụ atd. Khởi động lâu rồi (tôi nên reboot…), và active. PID đó nếu tôi cần kill nó, dù chúng ta cũng có thể với systemctl. Vậy kiểm tra gì? Bước nhanh và dễ, kiểm tra dịch vụ thất bại.
#systemctl --failed --type=service

systemctl –failed –type=service
Điều tra những cái này và xác định xem có bình thường không. Làm sao biết bình thường? Kiểm tra dịch vụ chạy:
#systemctl -t service --state=active

systemctl -t service –state=active
Sau khi xem info, lưu nó.
#systemctl -t service --state=active > date$systemhealth.log
Vào các ngày sau, diff check.
#systemctl -t service --state=active > date$systemhealth.log #diff day1systemhealth.log day2systemhealth.log

diff day1systemhealth.log day2systemhealth.log
Đó, bây giờ bạn biết nếu có gì nên online. Nếu bạn đang làm quen với hệ thống mới, đây là bộ dịch vụ tốt để kiểm tra.
LAMP
Hãy xem stack cơ bản hầu hết chúng ta học deploy trong ngày đầu. À, và nếu bạn không biết tên dịch vụ bạn tìm. Không lo. Tab completion được bật cho systemctl. Chỉ cần gõ apache, nhấn tab hai lần, và chọn cái bạn cần.

systemctl status apache
#systemctl status apache2.service mongo mysql

systemctl status apache2.service mongo mysql
Muốn chi tiết hơn?
#systemctl list-dependencies apache2.service

systemctl list-dependencies apache2.service
Nó hiển thị tất cả phụ thuộc của dịch vụ. Và cho bạn trạng thái mỗi cái với chấm màu thân thiện. Xanh cho tốt, đỏ cho thất bại.
Mạng
Tiếp, hãy chắc chắn mạng hoạt động.
#systemctl status networking ufw wpa

systemctl status networking ufw wpa
Nếu chưa rõ đến giờ, tính năng ưa thích của tôi về systemctl là kiểm soát nhiều dịch vụ cùng lúc. Và tự động pipe vào less.
Kiểm soát dịch vụ
Ổn, bây giờ bạn đã có một số dịch vụ thất bại xác định. Hoặc bạn đã triển khai thay đổi dịch vụ. Như cập nhật file sshd.config, và cần reload nó. Hoặc bạn đang thêm dịch vụ mới, hoặc xóa hoàn toàn?
Nó đơn giản với systemctl, và bạn có hai lựa chọn. Reload và restart. Reload chỉ đọc file config mới. Restart drop bất kỳ kết nối nào và reload file config. Tùy nhu cầu, cả hai đều có lý do dùng.
Restart và Reload
#systemctl restart atd #systemctl status atd

systemctl restart atd
Đó, đã restart. Info mới thêm. Với hệ thống cân bằng tải mạnh mẽ, tôi thích restart. Tôi biết kết nối sẽ reroute và downtime gần như không tồn tại. Ít nhất, gần như không. Và tôi không phải lo một số hệ thống hoặc dịch vụ không làm việc tốt với reload. Dù sao, luôn thông báo cho user và khách hàng trước khi restart/reload.
Stop, Start, và Kill
Nếu bạn cần dừng hoặc kill dịch vụ thì systemctl cũng làm được.
#systemctl stop atd #systemctl start atd #systemctl kill atd #systemctl start atd
Đó là nó, tạo lại một restart.

systemctl status atd
Bật và Tắt
Dịch vụ mới bạn muốn khởi động khi boot, cần enable.
#systemctl enable
Đó, hệ thống hiểu nó cần khởi động dịch vụ mới khi boot. Nếu bạn muốn bỏ qua reboot, tiến hành start nó ngay.
#systemctl disable
Và xong. Dịch vụ dừng. Nếu bạn muốn xóa nó, bạn cần dừng nó rồi uninstall.
Kết luận
Đó là nó. Không nhiều phiền toái. Một dịch vụ cho một mục đích, kiểm soát hệ thống của bạn. Tìm hiểu thêm lệnh shell và cách quản trị hệ thống.