เป็นไปได้หรือไม่ที่จะเปลี่ยนกระบวนการหลักของกระบวนการ ถ้าใช่เป็นอย่างไร
ตัวอย่างเช่น,
จะ
screen
จัดการแนบscreen
เซสชั่นและกระบวนการทำงานภายในมันไปยังกระบวนการเชลล์ที่แตกต่างกันอย่างไร มีการเปลี่ยนแปลงกระบวนการแม่หรือไม่?ฉันดูเหมือนจะได้ยินวิธีการอื่นของการเปลี่ยนแปลงกระบวนการเชลล์ที่โปรแกรมกำลังทำงานอยู่ แต่ฉันจำไม่ได้ มีการเปลี่ยนแปลงของกระบวนการหลักของโปรแกรมหรือไม่?
ฉันคิดว่า
disown
ในกระบวนการจะเปลี่ยนกระบวนการหลักของกระบวนการเพียงเพราะชื่อdisown
มีความหมายว่า แต่ฉันพบว่ามันไม่เป็นความจริงEmacs ไคลเอ็นต์สามารถเชื่อมต่อกับเซิร์ฟเวอร์ emacs บนแท็บเทอร์มินัลอื่น มีการเปลี่ยนแปลงกระบวนการแม่หรือไม่?
getppid(2)
ระบบและการเรียกของระบบจะถูกจัดการโดยเคอร์เนล โปรแกรมอาจสับสนโดยการออกสายนั้นบันทึกค่าแล้วใช้ค่านั้นหลังจากการเปลี่ยนแปลงพาเรนต์ มีโอกาสเกิดสภาวะการแข่งขันที่นี่
disown
เพียงแค่ลบเด็กที่ได้รับจากรายการภายในของกระบวนการเด็กเปลือก PPID ของเด็กยังคงเป็นของเปลือก เชลล์ลืมไปแล้วว่ามันเริ่มลูกคนนั้นแล้ว แต่เคอร์เนลจำได้