ในคู่มือนี้ เราจะอธิบายวิธีใช้ systemctl เพื่อแสดงรายการบริการและตรวจสอบสถานะ นอกจากนี้เรายังจะครอบคลุมการใช้งานอื่นๆ บางอย่างสำหรับ systemctl
มาจาก run_init บริการ systemctl คือลมหายใจที่สดชื่น ฉันแน่ใจว่ามีเหตุผลหลายประการที่ฉันคิดผิด และฉันได้ยินการโต้เถียงทั้งต่อต้านและต่อต้าน และเปลี่ยนใจไม่กี่ครั้ง หลังจากใช้งานทุกวันในที่ทำงาน ตอนนี้ฉันอยู่ในค่าย systemctl ภาษาของคำสั่งให้ความรู้สึกเป็นธรรมชาติมากขึ้นในขณะนี้ ในระดับการทำงานแบบวันต่อวันฉันชอบมัน ฉันยินดีกับการเปลี่ยนแปลงนี้ และไม่ยอมกลับไปทุกครั้งที่ฉันทำงานกับระบบที่เก่ากว่า มาดู systemctl และวิธีการทำงานกัน
สถานะ Systemctl
การใช้งาน systemctl ครั้งแรกและที่สำคัญที่สุดคือการตรวจสอบสถานะบริการ นี่คือไวยากรณ์:
#systemctl command argument #systemctl status service
บริการสถานะ systemctl
มีข้อมูลบริการ atd ของคุณ เริ่มมาระยะหนึ่งแล้ว (ฉันควรรีบูต…) และเปิดใช้งานอยู่ PID อยู่ที่นั่นหากฉันต้องการฆ่ามันแม้ว่าเราจะสามารถทำได้ด้วย systemctl ด้วย แล้วจะตรวจสอบอะไร? ขั้นตอนที่ง่ายและรวดเร็ว ตรวจสอบบริการที่ล้มเหลว
#systemctl --failed --type=service
systemctl –failed –type=service
ตรวจสอบสิ่งเหล่านี้และพิจารณาว่าเป็นเรื่องปกติหรือไม่ คุณรู้ได้อย่างไรว่าปกติ? ตรวจสอบบริการที่ทำงานอยู่:
#systemctl -t service --state=active
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
diff day1systemhealth.log day2systemhealth.log
ไปแล้ว ตอนนี้คุณรู้แล้วว่ามีบางอย่างที่ควรออนไลน์หรือไม่ หากคุณคุ้นเคยกับระบบใหม่ นี่คือชุดบริการที่ดีที่คุณควรตรวจสอบ
หลอดไฟ
มาดูสแต็กพื้นฐานที่พวกเราส่วนใหญ่เรียนรู้การปรับใช้ในช่วงแรกๆ โอ้ และถ้าคุณไม่ทราบชื่อบริการที่คุณต้องการ ไม่ต้องกังวล. เปิดใช้งานการเสร็จสิ้นแท็บสำหรับ systemctl เพียงพิมพ์ใน apache กด tab สองครั้งแล้วเลือกสิ่งที่คุณต้องการ
apache สถานะ systemctl
#systemctl status apache2.service mongo mysql
สถานะ systemctl apache2.service mongo mysql
ต้องการทราบรายละเอียดเพิ่มเติมหรือไม่
#systemctl list-dependencies apache2.service
systemctl list-dependencies apache2.service
มันแสดงให้เห็นการขึ้นต่อกันของบริการทั้งหมด และให้สถานะของแต่ละคนด้วยจุดสีที่เป็นมิตร เขียวดี แดงสำหรับล้มเหลว
เครือข่าย
ต่อไป มาตรวจสอบให้แน่ใจว่าเครือข่ายใช้งานได้
#systemctl status networking ufw wpa
ระบบเครือข่ายสถานะ systemctl ufw wpa
หากยังไม่ชัดเจนในตอนนี้ คุณลักษณะที่ฉันโปรดปรานของ systemctl คือการควบคุมหลายบริการพร้อมกัน และท่อเข้าน้อยลงโดยอัตโนมัติ
ควบคุมการบริการ
เอาล่ะ ตอนนี้คุณได้ระบุบริการที่ล้มเหลวบางอย่างแล้ว หรือคุณได้ดำเนินการเปลี่ยนแปลงบริการ เช่นเดียวกับการอัปเดตไฟล์ sshd.config ของคุณและจำเป็นต้องโหลดซ้ำ หรือคุณกำลังเพิ่มบริการใหม่หรือลบออกทั้งหมดหรือไม่
ง่ายด้วย systemctl และคุณมีสองตัวเลือก โหลดซ้ำ และ รีสตาร์ท . รีโหลดเพียงอ่านไฟล์ปรับแต่งใหม่ รีสตาร์ทจะลดการเชื่อมต่อและโหลดไฟล์ปรับแต่งใหม่ ทั้งสองมีเหตุผลในการใช้งานขึ้นอยู่กับความต้องการของคุณ
รีสตาร์ทและโหลดซ้ำ
#systemctl restart atd #systemctl status atd
systemctl รีสตาร์ท atd
ถึงแล้ว เริ่มใหม่ เพิ่มข้อมูลใหม่แล้ว ด้วยระบบโหลดบาลานซ์ที่ทนทาน ฉันชอบที่จะรีสตาร์ท ฉันรู้ว่าการเชื่อมต่อจะเปลี่ยนเส้นทางและการหยุดทำงานจะไม่มีอยู่จริง อย่างน้อยก็แทบไม่มี และฉันจะไม่ต้องกังวลกับระบบหรือบริการบางอย่างที่โหลดซ้ำได้ไม่ดี โดยไม่คำนึงถึง แจ้งให้ผู้ใช้และลูกค้าทราบเสมอก่อนที่จะรีสตาร์ท/โหลดซ้ำ
หยุด เริ่ม และฆ่า
หากคุณต้องการหยุดหรือฆ่าบริการ systemctl ก็สามารถทำได้เช่นกัน
#systemctl stop atd #systemctl start atd #systemctl kill atd #systemctl start atd
แค่นั้นแหละ กำลังรีสตาร์ท
systemctl สถานะ atd
การเปิดใช้งานและปิดใช้งาน
บริการใหม่ๆ ที่คุณต้องการเริ่มต้นใช้งาน ต้องเปิดใช้งาน
#systemctl enable <service>
ตอนนี้ระบบของคุณเข้าใจแล้วว่าจำเป็นต้องเริ่มบริการใหม่เมื่อบูต หากคุณต้องการข้ามการรีบูต ให้เริ่มต้นทันที
#systemctl disable <service>
และเราไปที่นั่น บริการหยุด หากต้องการนำออก คุณจะต้องหยุดและถอนการติดตั้ง
บทสรุป
แค่นั้นแหละ. ไม่มากไป บริการเดียวสำหรับวัตถุประสงค์เดียว ควบคุมระบบของคุณ เรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งเชลล์และวิธีจัดการระบบของคุณ