ตามที่เขียนไว้ในชื่อแล้วฉันจะให้สคริปต์เริ่มต้นเขียนไฟล์ pid ได้ที่ไหน? มีเส้นทางมาตรฐานที่ฉันควรเลือกแทน / var / run หรือไม่
อาจ / tmp เป็นสถานที่ที่ดีในการจัดเก็บหรือมีข้อบกพร่องในนั้น?
ตามที่เขียนไว้ในชื่อแล้วฉันจะให้สคริปต์เริ่มต้นเขียนไฟล์ pid ได้ที่ไหน? มีเส้นทางมาตรฐานที่ฉันควรเลือกแทน / var / run หรือไม่
อาจ / tmp เป็นสถานที่ที่ดีในการจัดเก็บหรือมีข้อบกพร่องในนั้น?
คำตอบ:
กล่าวโดยย่อ : คุณสามารถเก็บไว้ที่ใดก็ได้ (พูด/tmp
หรือ/var/tmp
) แต่/var/run
เป็นมาตรฐานที่ต้องการ
/var/run
คือลำดับชั้นของมาตรฐานระบบไฟล์ :
ไดเร็กทอรีนี้มีข้อมูลระบบที่อธิบายถึงระบบตั้งแต่ถูกบูท ไฟล์ภายใต้ไดเรกทอรีนี้จะต้องล้าง (ลบหรือตัดทอนตามความเหมาะสม) ที่จุดเริ่มต้นของกระบวนการบูต โปรแกรมอาจมีไดเรกทอรีย่อยของ / var / run; สิ่งนี้ได้รับการสนับสนุนสำหรับโปรแกรมที่ใช้ไฟล์เรียกใช้มากกว่าหนึ่งไฟล์ [เชิงอรรถ 37]
และคุณสมบัติที่พึงประสงค์คือ distros ส่วนใหญ่จะทำความสะอาดโดยอัตโนมัติ (ไม่เหมือน/tmp
ที่ไม่ได้ทำความสะอาดเมื่อบู๊ตใน distros) - สิ่งนี้หลีกเลี่ยงไฟล์ pid เก่า:
ตำแหน่งปกติสำหรับ pidfiles คือ / var / run Unices ส่วนใหญ่จะล้างไดเรกทอรีนี้เมื่อบูต ภายใต้ Ubuntu สิ่งนี้สามารถทำได้โดย / var / เรียกใช้ระบบไฟล์ในหน่วยความจำ (tmpfs)
เป็นทางเลือกของคุณที่จะเก็บไว้ แต่ฉันจะไปกับมาตรฐาน
หากคุณไม่ได้มีการเข้าถึง/var/run
คุณควรเก็บไฟล์ pid ~/.my_app.pid
ในไดเรกทอรีบ้านของผู้ใช้เช่น
หากไม่ใช่การเข้าถึงเพื่อเขียนแบบ/var/run
ที่คุณต้องการโปรดทราบว่ามีไดเรกทอรีย่อย/var/run/user
สำหรับผู้ใช้แต่ละคน คุณเพียงแค่ต้องรับ UID ของผู้ใช้ปัจจุบัน:
/var/run/user/[$uid]