Score:1

วิธีส่งข้อความปิดระบบที่รอดำเนินการไปยังบริการ systemd

ธง za

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

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

บริการนี้จัดการโดยใช้คอนเทนเนอร์ podman/docker ที่ไม่ได้รับสิทธิพิเศษที่รันผ่าน systemd (พ็อดแมนสร้างระบบ) หน่วยผู้ใช้

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

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

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

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

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

in flag
อาจใช้ `After=final.target` เหมือนใน https://unix.stackexchange.com/a/479048 ? (แค่เดานะครับ ไม่ได้ใช้เอง)
ljrk avatar
za flag
@ErikSjölund ขอบคุณ ฉันไม่รู้การตั้งค่านี้ -- แต่ถ้าระบบติดตั้งใหม่เป็น r/o แล้ว บริการจะไม่สามารถจัดเก็บสถานะปัจจุบันลงในดิสก์ได้อีกต่อไป ฉันคิดว่า

โพสต์คำตอบ

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