หากคุณเป็นผู้ใช้หรือผู้ดูแลระบบ Linux คุณต้องรู้วิธีจัดการบริการในระบบของคุณ บริการคือโปรแกรมที่ทำงานอยู่เบื้องหลังและมีฟังก์ชันที่จำเป็น เช่น เครือข่าย การพิมพ์ การบันทึก และอื่นๆ
แต่คุณจะแสดงรายการ เริ่ม หยุด เปิดใช้ ปิดใช้งาน หรือเริ่มบริการใหม่บน Linux ได้อย่างไร คำตอบคือคำสั่ง systemctl คำสั่งนี้เป็นส่วนหนึ่งของ systemd ซึ่งเป็นระบบสมัยใหม่และตัวจัดการบริการสำหรับลีนุกซ์ดิสทริบิวชัน เช่น Ubuntu และ Debian
สารบัญ
หากคุณเป็นผู้เริ่มต้นใช้ Linux และต้องการจัดการบริการเหล่านี้โดยใช้ systemctel ให้ทำตามขั้นตอนด้านล่าง
แสดงรายการบริการทั้งหมดด้วย systemctl
หากต้องการแสดงรายการบริการทั้งหมดบนระบบ Linux ให้เรียกใช้คำสั่งนี้ในเทอร์มินัล:
sudo systemctl list-units –type service
นี่จะแสดงตารางที่มีห้าคอลัมน์: UNIT, LOAD, ACTIVE, SUB และ DESCRIPTION
คอลัมน์ UNIT แสดงชื่อไฟล์หน่วยบริการ ซึ่งเป็นไฟล์การกำหนดค่าและคำจำกัดความของบริการ ไฟล์นี้มีข้อมูลเกี่ยวกับสิ่งที่บริการทำและวิธีจัดการ คุณยังสามารถดูคำอธิบายโดยย่อสำหรับบริการได้ในคอลัมน์ DESCRIPTION
คอลัมน์โหลดแสดงว่าโหลดไฟล์หน่วยบริการลงในหน่วยความจำหรือไม่ คอลัมน์ ACTIVE จะแสดงว่าเป็นบริการที่กำลังทำงานอยู่หรือไม่ สุดท้าย คอลัมน์ SUB จะแสดงสถานะย่อยของบริการ เช่น กำลังทำงาน ออก หรือล้มเหลว
คุณยังสามารถใช้ตัวเลือก-a หรือ –all แทน –type service เพื่อแสดงหน่วยทุกประเภท ไม่ใช่แค่บริการเท่านั้น
แสดงรายการบริการที่ใช้งานด้วย systemctl
หากคุณต้องการดูเฉพาะบริการที่ใช้งานอยู่ (กำลังทำงาน) บนระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัล Linux:
sudo systemctl list-units –type service –state active
การดำเนินการนี้จะกรองบริการที่ไม่ได้ใช้งาน (หยุดทำงาน) หรือล้มเหลว
แสดงรายการบริการที่ไม่ใช้งานด้วย systemctl
ในทำนองเดียวกัน หากคุณต้องการดูเฉพาะบริการที่ไม่ได้ใช้งาน (หยุดทำงาน) บนระบบของคุณในปัจจุบัน ให้รันคำสั่งนี้ในเทอร์มินัล:
sudo systemctl หน่วยรายการ-ประเภทบริการ-สถานะไม่ใช้งาน
การดำเนินการนี้จะกรองบริการที่ใช้งานอยู่ (กำลังทำงาน) หรือล้มเหลว
แสดงรายการบริการที่ล้มเหลวด้วย systemctl
หากคุณต้องการดูบริการที่ล้มเหลวในการเริ่มหรือหยุดในระบบของคุณ ให้เปิดเทอร์มินัลแล้วเรียกใช้ คำสั่งนี้:
sudo systemctl list-units –type service –state ล้มเหลว
การดำเนินการนี้จะกรองบริการที่ใช้งานอยู่ (กำลังทำงาน) หรือไม่ได้ใช้งาน (หยุดทำงาน) ออก
แสดงรายการบริการที่เปิดใช้งานด้วย systemctl
หากต้องการดูว่าบริการใดเปิดใช้งานโดยอัตโนมัติเมื่อบูตระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัล:
sudo systemctl list-unit-files –type service –state enable
นี่จะแสดงตารางที่มีสองคอลัมน์: UNIT FILE และ STATE คอลัมน์ UNIT FILE แสดงชื่อไฟล์หน่วยบริการ คอลัมน์สถานะแสดงว่าบริการเปิดใช้งานหรือไม่
แสดงรายการบริการที่ปิดใช้งานด้วย systemctl
หากต้องการดูว่าบริการใดถูกปิดใช้งานและจะไม่เริ่มโดยอัตโนมัติเมื่อบูตระบบ ให้เปิด Linux ของคุณ เทอร์มินัลและเรียกใช้คำสั่งนี้:
sudo systemctl list-unit-files –type service –state closed
การดำเนินการนี้จะกรองบริการที่เปิดใช้งานหรือมาสก์ออก
แสดงรายละเอียดของบริการด้วย systemctl
หากต้องการแสดงรายละเอียดเพิ่มเติมเกี่ยวกับบริการเฉพาะในระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัล:
sudo systemctl status <ชื่อบริการ>
แทนที่ <ชื่อบริการ> ด้วยชื่อไฟล์หน่วยบริการที่คุณต้องการตรวจสอบ
ข้อมูลนี้จะแสดงให้คุณเห็น เช่น คำอธิบาย สถานะโหลด สถานะใช้งาน สถานะย่อย ID กระบวนการ (PID) การใช้หน่วยความจำ การใช้งาน CPU และบริการล่าสุด บันทึก
คุณยังสามารถใช้คำสั่งย่อย show แทนสถานะเพื่อแสดงคุณสมบัติของบริการทั้งหมดในรูปแบบ name=value
เริ่มบริการด้วย systemctl
หากต้องการเริ่มบริการที่หยุดทำงานบนระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัล Linux ของคุณ:
sudo systemctl start
แทนที่ <ชื่อบริการ> ด้วยชื่อไฟล์หน่วยบริการที่คุณต้องการเริ่ม
การดำเนินการนี้จะเริ่มบริการใน พื้นหลังและกลับไปที่พรอมต์ คุณสามารถใช้คำสั่งย่อยสถานะเพื่อตรวจสอบว่าบริการกำลังทำงานอยู่
หยุดบริการด้วย systemctl
หากต้องการหยุดบริการที่ทำงานบนระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัล:
sudo systemctl stop
แทนที่ <ชื่อบริการ> ด้วยชื่อไฟล์หน่วยบริการที่คุณต้องการหยุด
การดำเนินการนี้จะหยุดบริการในเบื้องหลัง และกลับไปที่พรอมต์ คุณสามารถใช้คำสั่งย่อยสถานะเพื่อตรวจสอบว่าบริการหยุดทำงาน
เริ่มบริการใหม่ด้วย systemctl
ต้องการแก้ไขและโหลดไฟล์การกำหนดค่าของบริการใหม่และใช้การเปลี่ยนแปลงหรือไม่ หากทำเช่นนั้น คุณจะต้องเริ่มบริการใหม่ในภายหลัง
หากต้องการเริ่มบริการใหม่ที่ทำงานบนระบบของคุณ ให้เปิดเทอร์มินัลแล้วเรียกใช้คำสั่งนี้:
sudo systemctl รีสตาร์ท <ชื่อบริการ>
แทนที่ <ชื่อบริการ> พร้อมชื่อไฟล์หน่วยบริการที่คุณต้องการรีสตาร์ท
การดำเนินการนี้จะหยุดและเริ่มบริการในเบื้องหลังและกลับไปที่พรอมต์ คุณสามารถใช้คำสั่งย่อยสถานะเพื่อตรวจสอบว่าบริการกำลังทำงานอยู่
รีโหลดบริการด้วย systemctl
บริการบางอย่างรองรับการรีโหลดการกำหนดค่าโดยไม่ต้องหยุดและเริ่มต้น การโหลดบริการซ้ำช่วยให้คุณทำการเปลี่ยนแปลงเล็กน้อยกับไฟล์การกำหนดค่าของบริการเหล่านั้นได้โดยไม่ต้องรีสตาร์ท ซึ่งเร็วกว่าและก่อกวนน้อยกว่าการรีสตาร์ท
หากต้องการรีโหลดบริการที่สนับสนุนคุณลักษณะนี้ ให้ใช้คำสั่ง systemctl ต่อไปนี้ในเทอร์มินัล:
sudo systemctl รีโหลด <ชื่อบริการ>
แทนที่ <บริการ-name> พร้อมชื่อไฟล์หน่วยบริการที่ต้องการโหลดซ้ำ
การดำเนินการนี้จะโหลดบริการซ้ำในเบื้องหลังและกลับไปที่พรอมต์ คุณสามารถใช้คำสั่งย่อยสถานะเพื่อตรวจสอบว่าบริการกำลังทำงานอยู่
เปิดใช้งานบริการด้วย systemctl
หากต้องการเปิดใช้งานบริการให้เริ่มโดยอัตโนมัติในเวลาบูตบนระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัล:
sudo systemctl enable <ชื่อบริการ>
แทนที่ <ชื่อบริการ> ด้วยชื่อไฟล์หน่วยบริการที่คุณต้องการเปิดใช้งาน
การดำเนินการนี้จะสร้างลิงก์สัญลักษณ์จากไฟล์หน่วยบริการไปยังตำแหน่งภายใต้/etc/systemd/system ซึ่งจะบอกให้ systemd เริ่มการทำงานในเวลาบูต
คุณยังสามารถใช้ตัวเลือก –ตอนนี้ เพื่อเปิดใช้งานและเริ่มบริการพร้อมกันได้อีกด้วย ตัวอย่างเช่น:
sudo systemctl enable – now
ปิดใช้งานบริการด้วย systemctl
หากต้องการปิดใช้งาน บริการเริ่มต้นโดยอัตโนมัติในเวลาบูตบนระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัล Linux:
sudo systemctl ปิดใช้งาน <ชื่อบริการ>
แทนที่ <ชื่อบริการ> ด้วยชื่อ ของไฟล์หน่วยบริการที่ต้องการปิดใช้งาน
การดำเนินการนี้จะลบลิงก์สัญลักษณ์ออกจาก/etc/systemd/system ซึ่งจะบอกให้ systemd ไม่ต้องเริ่มการทำงานเมื่อบูต
คุณยังสามารถใช้ตัวเลือก –ตอนนี้ เพื่อปิดใช้งานและหยุดบริการในเวลาเดียวกัน:
sudo systemctl ปิดการใช้งาน –ตอนนี้ <ชื่อบริการ>
แสดงรายการบริการที่ปิดบังด้วย systemctl
การปิดบังบริการหมายถึงการเชื่อมโยงไฟล์หน่วยกับ/dev/null ซึ่งป้องกันไม่ให้โหลดหรือจัดการโดย systemd สิ่งนี้จะเพิ่มการป้องกันอีกชั้นหนึ่ง
หากต้องการดูว่าบริการใดถูกปิดบังและไม่สามารถเริ่มหรือหยุดด้วยตนเองหรือโดยอัตโนมัติบนระบบของคุณ ให้รันคำสั่งนี้ในเทอร์มินัลของพีซีที่ใช้ Linux:
sudo systemctl list-unit-ไฟล์ – ประเภทบริการ – สถานะมาสก์
รายการของบริการมาสก์จะปรากฏในรายการ (โดยมาสก์อยู่ในคอลัมน์ STATE)
มาสก์ บริการด้วย systemctl
เรียกใช้คำสั่งนี้ในเทอร์มินัลเพื่อปกปิดบริการไม่ให้เริ่มต้น หยุดทำงานด้วยตนเอง หรือโดยอัตโนมัติบนระบบของคุณ:
sudo systemctl mask <ชื่อบริการ>
แทนที่ <ชื่อบริการ> ด้วยชื่อไฟล์หน่วยบริการที่คุณต้องการมาสก์
สิ่งนี้จะสร้างลิงก์สัญลักษณ์จากหน่วยบริการ ไฟล์ไปที่/dev/null เพื่อป้องกันไม่ให้โหลดหรือจัดการโดย systemd
เปิดโปงบริการด้วย systemctl
คุณสามารถเปิดโปงบริการที่เคยปิดบังไว้ได้ การดำเนินการนี้จะลบลิงก์สัญลักษณ์ไปยัง/dev/null และอนุญาตให้ใช้และโหลดที่อื่นได้
หากต้องการเปิดโปงบริการที่ถูกปิดบังไว้ก่อนหน้านี้ในระบบของคุณ ให้รันคำสั่งนี้:
sudo systemctl unmask
Replace
การควบคุมพีซี Linux ของคุณ
หากพีซี Linux ของคุณใช้ systemd เพื่อจัดการบริการระบบ คุณสามารถใช้คำสั่ง systemctl เพื่อจัดการได้ คุณสามารถเริ่ม หยุด โหลดซ้ำ ปิดใช้งาน และควบคุมบริการของคุณ ทำให้คุณควบคุมพีซี Linux ได้ดียิ่งขึ้น
อีกวิธีหนึ่งที่คุณสามารถจัดการพีซีของคุณคือการจำกัดการเข้าถึงไฟล์บางไฟล์ คุณสามารถใช้คำสั่ง chmod บนพีซี Linux ของคุณเพื่ออนุญาต (หรือไม่อนุญาต) การเข้าถึง
ไม่แน่ใจว่า Linux distro ของคุณเหมาะสมหรือไม่ คุณควรลองใช้ลีนุกซ์ตัวท็อปตัวอื่นแทน หรือแม้แต่ลองใช้ลีนุกซ์แบบพกพา การใช้ distro แบบพกพาจะช่วยให้คุณสลับระหว่างมันได้อย่างง่ายดาย