โฮมเพจ » ทำอย่างไร » วิธีจัดการบริการ Systemd บนระบบ Linux

    วิธีจัดการบริการ Systemd บนระบบ Linux

    ตอนนี้ Systemd ถูกใช้โดยค่าเริ่มต้นในการแจกแจง Linux ส่วนใหญ่จาก Fedora และ Red Hat เป็น Ubuntu, Debian, openSUSE และ Arch คำสั่ง systemctl อนุญาตให้คุณรับข้อมูลเกี่ยวกับสถานะของ systemd และควบคุมบริการที่รันอยู่.

    แม้จะมีข้อโต้แย้งนี้อย่างน้อยก็แนะนำมาตรฐานบางอย่างในการกระจาย Linux คำสั่งเดียวกันจะอนุญาตให้คุณจัดการบริการในลักษณะเดียวกันกับการแจกจ่าย Linux โดยใช้ systemd.

    บันทึก: หากต้องการแก้ไขการกำหนดค่าระบบของคุณในการแจกจ่าย Linux เช่น Ubuntu ที่ใช้ sudo คุณจะต้องใส่คำสั่งล่วงหน้าที่นี่ด้วย sudo. ในลีนุกซ์รุ่นอื่นคุณจะต้องเป็นผู้ใช้รูทด้วย su คำสั่งก่อน.

    ตรวจสอบว่าระบบ Linux ของคุณกำลังใช้งาน Systemd หรือไม่

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

    systemd -version

    วิเคราะห์กระบวนการบู๊ต

    คำสั่ง systemd-วิเคราะห์ช่วยให้คุณสามารถดูข้อมูลเกี่ยวกับกระบวนการบู๊ตของคุณเช่นระยะเวลาที่ใช้และบริการใด (และกระบวนการอื่น) เพิ่มเวลาส่วนใหญ่ในกระบวนการบู๊ต.

    หากต้องการดูข้อมูลเกี่ยวกับกระบวนการเริ่มต้นโดยทั่วไปให้เรียกใช้คำสั่งนี้:

    systemd-วิเคราะห์

    หากต้องการดูระยะเวลาที่แต่ละกระบวนการเริ่มต้นให้เรียกใช้คำสั่งนี้:

    systemd- วิเคราะห์ความผิด

    ดูหน่วย

    Systemd ใช้“ units” ซึ่งอาจเป็นบริการ (.service) จุดเชื่อมต่อ (.mount) อุปกรณ์ (.device) หรือซ็อกเก็ต (.socket) คำสั่ง systemctl เดียวกันจัดการหน่วยประเภทเหล่านี้ทั้งหมด.

    วิธีดูไฟล์หน่วยที่มีอยู่ทั้งหมดในระบบของคุณ:

    systemctl list-unit-files

    ในการแสดงรายการหน่วยที่กำลังทำงานทั้งหมด:

    systemctl list-units

    ในการแสดงรายการยูนิตที่ล้มเหลวทั้งหมด:

    systemctl -failed

    การจัดการบริการ

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

    systemctl list-unit-files -type = service

    คำสั่ง systemctl อนุญาตให้คุณเริ่มหยุดหรือรีสตาร์ทเซอร์วิส นอกจากนี้คุณยังสามารถบอกบริการเพื่อ“ โหลด” การกำหนดค่า.

    คำสั่งสถานะเป็นการกระทำเดียวที่นี่ที่จะพิมพ์และส่งออกไปยังสถานี คำสั่งอื่น ๆ จะมีผลเงียบ ๆ.

    systemctl ชื่อเริ่มต้นบริการ

    systemctl stop name.service

    systemctl รีสตาร์ท name.service

    systemctl reload name.service

    systemctl status name.service

    ใช้คำสั่ง systemctl enable เพื่อให้ systemd เริ่มบริการโดยอัตโนมัติ (หรือหน่วยประเภทอื่น ๆ ) เมื่อเริ่มต้นระบบ คำสั่ง systemctl ปิดการใช้งานปิดบริการและหยุดมันจากการเริ่มต้นโดยอัตโนมัติด้วยคอมพิวเตอร์ของคุณ.

    systemctl เปิดใช้งาน name.service

    systemctl ปิดการใช้งาน name.service

    คุณสามารถ“ ปิดบัง” บริการหรือหน่วยอื่น ๆ เพื่อป้องกันไม่ให้เริ่มต้นเลย คุณจะต้องเปิดโปงก่อนที่มันจะเริ่มในอนาคต:

    systemctl mask name.service

    systemctl unmask name.service


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

    Systemd ยังเสนอ "เป้าหมาย" ซึ่งคล้ายกับ runlevels แต่แตกต่างกัน แทนที่จะเป็นตัวเลขเป้าหมายมีชื่อ - เป็นไปได้ที่ systemd จะอยู่ในสถานะเป้าหมายหลายรายการพร้อมกัน Systemd ยังเสนอสมุดบันทึกระบบของตัวเองซึ่งสามารถเข้าถึงได้ด้วยคำสั่ง journalctl โดยค่าเริ่มต้นจะเก็บบันทึกระบบในรูปแบบไบนารี - แต่คุณสามารถเปลี่ยนไปใช้บันทึกรูปแบบข้อความธรรมดาได้หากต้องการ.

    Arch Linux wiki มีข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับ systemd และข้อมูลส่วนใหญ่ที่ใช้กับ systemd ในการกระจาย Linux ทั้งหมด คุณควรตรวจสอบเอกสาร systemd ของการแจกจ่าย Linux ของคุณเองสำหรับข้อมูลเพิ่มเติม.

    เครดิตรูปภาพ: Bert Heymans บน Flickr