กระบวนการย่อยสืบทอดnice
ค่าใด ๆ ที่ถูกเก็บไว้โดยผู้ปกครอง ณ เวลาที่มีการแยก (ในตัวอย่างของคุณ5
)
อย่างไรก็ตามถ้าnice
ค่าของกระบวนการพาเรนต์เปลี่ยนไปหลังจากฟอร์กกระบวนการ child กระบวนการ child ไม่สืบทอดnice
ค่าใหม่
top
คุณสามารถสังเกตนี้ด้วยเครื่องมือการตรวจสอบ ถ้าnice
ฟิลด์ (NI) ไม่ได้แสดงโดยค่าเริ่มต้นคุณสามารถเพิ่มได้โดยการกดปุ่มเลือกf
I
จะเป็นการเพิ่มNI
คอลัมน์ในtop
จอแสดงผล
* I: NI = Nice value
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1937 root 20 0 206m 66m 45m S 6.2 1.7 11:03.67 X
ข้อมูลที่ดีจาก man 2 fork
fork () สร้างกระบวนการใหม่โดยทำซ้ำกระบวนการเรียก กระบวนการใหม่ที่เรียกว่าเด็กเป็นสิ่งที่ซ้ำกันแน่นอนของกระบวนการเรียกเรียกว่าผู้ปกครองยกเว้นสำหรับจุดต่อไปนี้:
- เด็กมี ID กระบวนการเฉพาะของตัวเองและ PID นี้ไม่ตรงกับ ID ของกลุ่มกระบวนการที่มีอยู่ (setpgid (2))
- ID กระบวนการหลักของเด็กนั้นเหมือนกับรหัสกระบวนการของผู้ปกครอง
- เด็กไม่สืบทอดการล็อกหน่วยความจำของผู้ปกครอง (mlock (2), mlockall (2))
- การใช้ทรัพยากรกระบวนการ (getrusage (2)) และตัวนับเวลา CPU (ครั้ง (2)) ถูกรีเซ็ตเป็นศูนย์ในชายด์
- ชุดสัญญาณที่ค้างอยู่ของเด็กนั้นว่างเปล่าในตอนแรก (การระบุ (2))
- เด็กไม่สืบทอดการปรับสัญญาณจากผู้ปกครอง (semop (2))
- เด็กไม่ได้สืบทอดการล็อกเรคคอร์ดจากพาเรนต์ (fcntl (2))
- เด็กไม่ได้สืบทอดไทเมอร์จาก parent (setitimer (2), alarm (2), timer_create (2)
- เด็กไม่ได้สืบทอดการดำเนินงาน I / O อะซิงโครนัสที่โดดเด่นจากพาเรนต์ (aio_read (3), aio_write (3)) และไม่สืบทอดบริบท I / O อะซิงโครนัสใด ๆ จากพาเรนต์ (ดู io_setup (2))
fork
การใช้งานที่สมเหตุสมผล