💾 Archived View for pwshnotes.flounder.online › gemlog › 2022-06-19-parent-process-id.gmi captured on 2024-03-21 at 15:06:20. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-07-16)

-=-=-=-=-=-=-

What is PPID on Linux?

Parent Process IDentifier

A process ID is the number assigned to an application by the operating system. This serves to identify the application uniquely while it is running. This number changes for each copy of a program running. And it is different each time an application opens and closes.

By the nature of the system, further applications are spawned by the original process that is loaded when the operating system is loaded. So all processes have a parent and child relationship with the process that spawned them.

Therefore, the parent process identifier is the process ID of the parent where "parent" is the process that spawned the process we are looking at.

This information can be used in troubleshooting tools to show groups of related processes. For example, in Process Explorer, you can see a Web browser process grouped with all its helper subprocesses or child processes.

On Windows, is is possible to find the parent process. But I don't remember having the parent process ID readily available.

On Linux, it seems like the PPID is more readily available. For example, in the XFCE Task Manager, the option to show PPID is given equal prominence with more common statistics like memory usage and user ID.

PowerShell

I was able to generate this crude listing.

Note that some of the parent process IDs were not available. I don't have an explanation for that. But XFCE Task Manager correctly associates the orphans from PowerShell (ex "Web Content") with their parents (ex Firefox).

I've edited the output for length.

Get-Process | Select-Object @{name='Parent'; expr={$_.Parent.Id}}, Id, Name | Sort-Object Parent, Id

Parent     Id Name
------     -- ----
       105455 Web Content
1        2617 firefox
1      135731 code --no-sandbox --force-user-env --unity-launch --enable-crashpad
1284     1362 Thunar
1370   127909 thunderbird
1667     1688 pwsh
1688    11884 vim

References

Process Explorer | Microsoft Docs

Task Manager | XFCE Docs

How to Find Process ID (PID and PPID) in Linux

Calculated Properties | Microsoft Docs

Parent Process Object is Missing | GitHub

Created: Sunday, June 19, 2022

Updated: Sunday, June 19, 2022