Linux - สถานที่ทางเลือกที่จะเก็บไฟล์ pid แทน / var / run


21

ตามที่เขียนไว้ในชื่อแล้วฉันจะให้สคริปต์เริ่มต้นเขียนไฟล์ pid ได้ที่ไหน? มีเส้นทางมาตรฐานที่ฉันควรเลือกแทน / var / run หรือไม่

อาจ / tmp เป็นสถานที่ที่ดีในการจัดเก็บหรือมีข้อบกพร่องในนั้น?


6
เกิดอะไรขึ้นกับ / var / run
arved

คำถาม Stack Overflow นี้มีความเกี่ยวข้อง: stackoverflow.com/q/5173636/1071869
Renan

สิ่งที่ผิดเท่านั้นที่มี / var / วิ่งคือว่าผมไม่ได้มีสิทธิ์ในการเขียนกับผู้ใช้ของฉันไปมัน ..
Murko

2
@Murko คุณควรเก็บไฟล์ pid ไว้ในโฮมไดเร็กตอรี่ของผู้ใช้.
Renan

คำตอบ:


22

กล่าวโดยย่อ : คุณสามารถเก็บไว้ที่ใดก็ได้ (พูด/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ในไดเรกทอรีบ้านของผู้ใช้เช่น


9

หากไม่ใช่การเข้าถึงเพื่อเขียนแบบ/var/runที่คุณต้องการโปรดทราบว่ามีไดเรกทอรีย่อย/var/run/userสำหรับผู้ใช้แต่ละคน คุณเพียงแค่ต้องรับ UID ของผู้ใช้ปัจจุบัน:

/var/run/user/[$uid]

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.