Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

ในคู่มือนี้ เราจะอธิบายวิธีใช้ systemctl เพื่อแสดงรายการบริการและตรวจสอบสถานะ นอกจากนี้เรายังจะครอบคลุมการใช้งานอื่นๆ บางอย่างสำหรับ systemctl

มาจาก run_init บริการ systemctl คือลมหายใจที่สดชื่น ฉันแน่ใจว่ามีเหตุผลหลายประการที่ฉันคิดผิด และฉันได้ยินการโต้เถียงทั้งต่อต้านและต่อต้าน และเปลี่ยนใจไม่กี่ครั้ง หลังจากใช้งานทุกวันในที่ทำงาน ตอนนี้ฉันอยู่ในค่าย systemctl ภาษาของคำสั่งให้ความรู้สึกเป็นธรรมชาติมากขึ้นในขณะนี้ ในระดับการทำงานแบบวันต่อวันฉันชอบมัน ฉันยินดีกับการเปลี่ยนแปลงนี้ และไม่ยอมกลับไปทุกครั้งที่ฉันทำงานกับระบบที่เก่ากว่า มาดู systemctl และวิธีการทำงานกัน

สถานะ Systemctl

การใช้งาน systemctl ครั้งแรกและที่สำคัญที่สุดคือการตรวจสอบสถานะบริการ นี่คือไวยากรณ์:

#systemctl command argument
#systemctl status service
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

บริการสถานะ systemctl

มีข้อมูลบริการ atd ของคุณ เริ่มมาระยะหนึ่งแล้ว (ฉันควรรีบูต…) และเปิดใช้งานอยู่ PID อยู่ที่นั่นหากฉันต้องการฆ่ามันแม้ว่าเราจะสามารถทำได้ด้วย systemctl ด้วย แล้วจะตรวจสอบอะไร? ขั้นตอนที่ง่ายและรวดเร็ว ตรวจสอบบริการที่ล้มเหลว

#systemctl --failed --type=service
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

systemctl –failed –type=service

ตรวจสอบสิ่งเหล่านี้และพิจารณาว่าเป็นเรื่องปกติหรือไม่ คุณรู้ได้อย่างไรว่าปกติ? ตรวจสอบบริการที่ทำงานอยู่:

#systemctl -t service --state=active
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

systemctl -t บริการ –state=active

หลังจากอ่านข้อมูลแล้วให้บันทึก

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

วันต่อมา เช็คส่วนต่าง

#systemctl -t service --state=active > date$systemhealth.log
#diff day1systemhealth.log day2systemhealth.log
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

diff day1systemhealth.log day2systemhealth.log

ไปแล้ว ตอนนี้คุณรู้แล้วว่ามีบางอย่างที่ควรออนไลน์หรือไม่ หากคุณคุ้นเคยกับระบบใหม่ นี่คือชุดบริการที่ดีที่คุณควรตรวจสอบ

หลอดไฟ

มาดูสแต็กพื้นฐานที่พวกเราส่วนใหญ่เรียนรู้การปรับใช้ในช่วงแรกๆ โอ้ และถ้าคุณไม่ทราบชื่อบริการที่คุณต้องการ ไม่ต้องกังวล. เปิดใช้งานการเสร็จสิ้นแท็บสำหรับ systemctl เพียงพิมพ์ใน apache กด tab สองครั้งแล้วเลือกสิ่งที่คุณต้องการ

Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

apache สถานะ systemctl

#systemctl status apache2.service mongo mysql
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

สถานะ systemctl apache2.service mongo mysql

ต้องการทราบรายละเอียดเพิ่มเติมหรือไม่

#systemctl list-dependencies apache2.service
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

systemctl list-dependencies apache2.service

มันแสดงให้เห็นการขึ้นต่อกันของบริการทั้งหมด และให้สถานะของแต่ละคนด้วยจุดสีที่เป็นมิตร เขียวดี แดงสำหรับล้มเหลว

เครือข่าย

ต่อไป มาตรวจสอบให้แน่ใจว่าเครือข่ายใช้งานได้

#systemctl status networking ufw wpa
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

ระบบเครือข่ายสถานะ systemctl ufw wpa

หากยังไม่ชัดเจนในตอนนี้ คุณลักษณะที่ฉันโปรดปรานของ systemctl คือการควบคุมหลายบริการพร้อมกัน และท่อเข้าน้อยลงโดยอัตโนมัติ

ควบคุมการบริการ

เอาล่ะ ตอนนี้คุณได้ระบุบริการที่ล้มเหลวบางอย่างแล้ว หรือคุณได้ดำเนินการเปลี่ยนแปลงบริการ เช่นเดียวกับการอัปเดตไฟล์ sshd.config ของคุณและจำเป็นต้องโหลดซ้ำ หรือคุณกำลังเพิ่มบริการใหม่หรือลบออกทั้งหมดหรือไม่

ง่ายด้วย systemctl และคุณมีสองตัวเลือก โหลดซ้ำ และ รีสตาร์ท . รีโหลดเพียงอ่านไฟล์ปรับแต่งใหม่ รีสตาร์ทจะลดการเชื่อมต่อและโหลดไฟล์ปรับแต่งใหม่ ทั้งสองมีเหตุผลในการใช้งานขึ้นอยู่กับความต้องการของคุณ

รีสตาร์ทและโหลดซ้ำ

#systemctl restart atd
#systemctl status atd
Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

systemctl รีสตาร์ท atd

ถึงแล้ว เริ่มใหม่ เพิ่มข้อมูลใหม่แล้ว ด้วยระบบโหลดบาลานซ์ที่ทนทาน ฉันชอบที่จะรีสตาร์ท ฉันรู้ว่าการเชื่อมต่อจะเปลี่ยนเส้นทางและการหยุดทำงานจะไม่มีอยู่จริง อย่างน้อยก็แทบไม่มี และฉันจะไม่ต้องกังวลกับระบบหรือบริการบางอย่างที่โหลดซ้ำได้ไม่ดี โดยไม่คำนึงถึง แจ้งให้ผู้ใช้และลูกค้าทราบเสมอก่อนที่จะรีสตาร์ท/โหลดซ้ำ

หยุด เริ่ม และฆ่า

หากคุณต้องการหยุดหรือฆ่าบริการ systemctl ก็สามารถทำได้เช่นกัน

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

แค่นั้นแหละ กำลังรีสตาร์ท

Systemctl:วิธีการแสดงรายการบริการ (สถานะ การควบคุม และคำแนะนำ)

systemctl สถานะ atd

การเปิดใช้งานและปิดใช้งาน

บริการใหม่ๆ ที่คุณต้องการเริ่มต้นใช้งาน ต้องเปิดใช้งาน

#systemctl enable <service>

ตอนนี้ระบบของคุณเข้าใจแล้วว่าจำเป็นต้องเริ่มบริการใหม่เมื่อบูต หากคุณต้องการข้ามการรีบูต ให้เริ่มต้นทันที

#systemctl disable <service>

และเราไปที่นั่น บริการหยุด หากต้องการนำออก คุณจะต้องหยุดและถอนการติดตั้ง

บทสรุป

แค่นั้นแหละ. ไม่มากไป บริการเดียวสำหรับวัตถุประสงค์เดียว ควบคุมระบบของคุณ เรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งเชลล์และวิธีจัดการระบบของคุณ