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

อย่างไรก็ตาม ผู้ใช้ "จริง" ของเซิร์ฟเวอร์นี้ไม่ใช่ผู้ใช้ Linux ที่มีสิทธิ์เข้าถึง SSH แต่เข้าถึงเซิร์ฟเวอร์เช่น IRC หรือบริการอื่นๆ ฉันต้องการ "จับ" ข้อความเตือนการปิดระบบและส่งต่อไปยังแต่ละบริการ เนื่องจากพวกเขาสามารถแพร่ภาพได้

บริการต่างๆ ได้รับการจัดการโดยใช้คอนเทนเนอร์พอดแมน/นักเทียบท่าที่ไม่ได้รับสิทธิ์ซึ่งวิ่งผ่านpodman-generate-systemdหน่วยผู้ใช้systemd ( )

ฉันสามารถ (ab) ใช้การExecStopPreตั้งค่าในยูนิต systemd เสมอ sleep 5mก่อนที่จะปิดเครื่อง นี่ไม่ใช่สิ่งที่ฉันต้องการอย่างแน่นอน เนื่องจากฉันต้องการสามารถรีสตาร์ท/หยุดบริการได้ทันที เมื่อดำเนินการด้วยตนเองโดยใช้systemctl --user stop/restart.

ขณะนี้ฉันเห็นสองเส้นทางที่สามารถเปิดใช้งานสิ่งนี้:

  1. วิธีหนึ่งสำหรับหน่วยในการฟังข้อความที่ผนังและส่งต่อ
  2. วิธีการระบุบางอย่าง--ignore ExecStopPreบนคอนโซล

อย่างหลังสามารถทำได้โดยใช้systemctl --user edit --runtime. อย่างไรก็ตาม วิธีที่สองมีเวลาหยุดทำงานของ (ab) โดยใช้ ExecStopPre ในขณะที่อาจมีความจำเป็นสำหรับวัตถุประสงค์อื่นอยู่แล้ว

อย่างไรก็ตาม ฉันยินดีสำหรับแนวคิดเกี่ยวกับวิธีการบรรลุ (1) หรือเพื่อให้ (2) ทำงานได้ดีขึ้นเล็กน้อย หรือแม้แต่วิธีการแก้ปัญหาที่แตกต่างกันโดยสิ้นเชิง

no answer