Process

當守護程序重新設置為 init (Pid 1) 時,原始 PPID 是否儲存在任何地方?

  • July 1, 2021

我相當肯定答案是否定的,但我想知道是否有可能在守護程序和隨後的重新父程序之前破譯守護程序的原始父程序。

答案是作業系統特定的,但至少在 Linux 上,除非涉及的程序在某處記錄資訊,否則沒有原始父程序的記憶體。

Linux 核心確實跟踪兩個父程序,但那是為了ptrace,而不是跟踪原始父程序。無論如何,當一個程序退出時,它的資料結構會被刪除,因此不會有任何資訊可以指向,並且保留原始父 pid 最終會產生誤導,因為 pid 會被回收。

引用自:https://unix.stackexchange.com/questions/656595