Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

Trong hướng dẫn này, chúng tôi giải thích cách sử dụng systemctl để liệt kê các dịch vụ và kiểm tra trạng thái của chúng. Chúng tôi cũng sẽ đề cập đến một số cách sử dụng khác của systemctl.

Đến từ run_init dịch vụ, systemctl là hơi thở của không khí trong lành. Tôi chắc chắn rằng có nhiều lý do khiến tôi sai và tôi đã nghe các cuộc tranh luận ủng hộ và phản đối điều đó và đã thay đổi quyết định một vài lần. Sau khi sử dụng nó hàng ngày tại nơi làm việc, bây giờ tôi đang ở trong trại systemctl. Ngôn ngữ của lệnh bây giờ cảm thấy tự nhiên hơn. Ở cấp độ chức năng hàng ngày, tôi thích nó. Tôi hoan nghênh sự thay đổi và không muốn quay lại bất cứ khi nào tôi làm việc trên một hệ thống cũ hơn. Hãy xem qua systemctl và cách nó hoạt động.

Trạng thái Systemctl

Việc sử dụng systemctl đầu tiên và quan trọng nhất là kiểm tra trạng thái dịch vụ. Đây là cú pháp:

#systemctl command argument
#systemctl status service
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

dịch vụ trạng thái systemctl

Có thông tin dịch vụ atd của bạn. Đã bắt đầu cách đây một lúc (tôi nên khởi động lại…) và đang hoạt động. PID ở đó nếu tôi cần phải giết nó, mặc dù chúng tôi cũng có thể với systemctl. Vậy cần kiểm tra những gì? Một bước nhanh chóng và dễ dàng, kiểm tra các dịch vụ không thành công.

#systemctl --failed --type=service
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

systemctl –failed –type =service

Điều tra những điều này và xác định xem nó có bình thường không. Làm thế nào để bạn biết bình thường? Kiểm tra các dịch vụ đang chạy:

#systemctl -t service --state=active
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

systemctl -t service –state =active

Sau khi xem xét thông tin, hãy lưu nó.

#systemctl -t service --state=active >date$systemhealth.log

Vào những ngày sau đó, hãy kiểm tra sự khác biệt.

#systemctl -t service --state=active >date$systemhealth.log
#diff day1systemhealth.log day2systemhealth.log
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

diff day1systemhealth.log day2systemhealth.log

Đây rồi, bây giờ bạn biết nếu một cái gì đó được cho là trực tuyến. Nếu bạn đang tự làm quen với một hệ thống mới, đây là một tập hợp các dịch vụ tốt để kiểm tra.

ĐÈN

Hãy xem xét ngăn xếp cơ bản mà hầu hết chúng ta học cách triển khai trong những ngày đầu. Ồ, và nếu bạn không biết tên của dịch vụ bạn đang tìm kiếm. Đừng lo. Hoàn thành tab được bật cho systemctl. Chỉ cần nhập apache, nhấn tab hai lần và chọn những gì bạn cần.

Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

apache trạng thái systemctl

#systemctl status apache2.service mongo mysql
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

trạng thái systemctl apache2.service mongo mysql

Bạn muốn tìm hiểu thêm chi tiết?

#systemctl list-dependencies apache2.service
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

systemctl list-dependencies apache2.service

Nó hiển thị tất cả các phụ thuộc của dịch vụ. Và cung cấp cho bạn trạng thái của từng trang bằng một chấm màu thân thiện. Màu xanh lá cây là tốt, màu đỏ là không thành công.

Mạng

Tiếp theo, hãy đảm bảo mạng hoạt động tốt.

#systemctl status networking ufw wpa
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

trạng thái mạng systemctl ufw wpa

Nếu bây giờ vẫn chưa rõ thì tính năng yêu thích của tôi về systemctl là kiểm soát nhiều dịch vụ đồng thời. Và tự động chuyển thành ít hơn.

Kiểm soát dịch vụ

Được rồi, bây giờ bạn đã xác định được một số dịch vụ bị lỗi. Hoặc bạn đã thực hiện một thay đổi dịch vụ. Như cập nhật tệp sshd.config của bạn và cần tải lại nó. Hay bạn đang thêm một dịch vụ mới hoặc xóa nó hoàn toàn?

Nó đơn giản với systemctl và bạn có hai tùy chọn. Tải lại khởi động lại . Tải lại chỉ đơn giản là đọc tệp cấu hình mới. Khởi động lại bỏ mọi kết nối và tải lại tệp cấu hình. Tùy thuộc vào nhu cầu của bạn, cả hai đều có lý do để sử dụng.

Khởi động lại và tải lại

#systemctl restart atd
#systemctl status atd
Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

systemctl khởi động lại atd

Chúng tôi bắt đầu, bắt đầu lại. Thông tin mới được thêm vào. Với hệ thống cân bằng tải mạnh mẽ, tôi thích khởi động lại hơn. Tôi biết các kết nối sẽ định tuyến lại và thời gian ngừng hoạt động sẽ không tồn tại. Ít nhất, gần như không tồn tại. Và tôi sẽ không phải lo lắng về một số hệ thống hoặc dịch vụ không hoạt động tốt khi tải lại. Bất kể, hãy luôn thông báo cho người dùng và khách hàng trước khi khởi động lại / tải lại.

Dừng, Bắt đầu và Kết thúc

Nếu bạn cần tạm dừng hoặc hủy một dịch vụ thì systemctl cũng có thể làm điều đó.

#systemctl stop atd
#systemctl start atd
#systemctl kill atd
#systemctl start atd

Vậy là xong, bắt đầu lại một lần khởi động lại.

Systemctl:Cách liệt kê các dịch vụ (Trạng thái, Kiểm soát và Mẹo)

trạng thái systemctl atd

Bật và tắt

Các dịch vụ mới mà bạn muốn bắt đầu khi khởi động, cần phải bật.

#systemctl enable <service>

Vậy là xong, hệ thống của bạn giờ đã hiểu rằng nó cần khởi động dịch vụ mới khi khởi động. Nếu bạn muốn bỏ qua quá trình khởi động lại, hãy tiếp tục và bắt đầu nó ngay bây giờ.

#systemctl disable <service>

Và chúng ta bắt đầu. Dịch vụ đã dừng. Nếu bạn muốn xóa nó, bạn cần phải dừng nó lại rồi gỡ cài đặt.

Kết luận

Đó là nó. Không nhiều cho nó. Một dịch vụ duy nhất cho một mục đích duy nhất, kiểm soát hệ thống của bạn. Tìm hiểu thêm các lệnh shell và cách quản trị hệ thống của bạn.