({{, (RefLink[SystemProcessData, paclet:ref/SystemProcessData])[] 
gives a dataset of information about processes that you are running on your computer system.}, {, (RefLink[SystemProcessData, paclet:ref/SystemProcessData])[(RefLink[All, paclet:ref/All])]
gives information about all processes running on your computer system.}, {, (RefLink[SystemProcessData, paclet:ref/SystemProcessData])[patt]
gives information about processes whose names or paths contain the string pattern patt.}, {, (RefLink[SystemProcessData, paclet:ref/SystemProcessData])[prop->val]
gives information about processes for which property prop has value val.}, {, (RefLink[SystemProcessData, paclet:ref/SystemProcessData])[{(Subscript[prop, 1])->(Subscript[val, 1]),…}]
gives information about processes for which property (Subscript[prop, i]) has value (Subscript[val, i]). }})

OpenersNotesSection(Spacer1)Details

(RefLink[SystemProcessData, paclet:ref/SystemProcessData]) gives a dataset with the following keys for each process:

In the dataset returned by (RefLink[SystemProcessData, paclet:ref/SystemProcessData]), processes are sorted by PID.

(RefLink[SystemProcessData, paclet:ref/SystemProcessData])[(RefLink[All, paclet:ref/All])] gives different process on different computer systems:

In (RefLink[SystemProcessData, paclet:ref/SystemProcessData])[prop->val], prop can be any of the keys associated with each process.

OpenersPrimaryExamplesSection(Spacer1)Examples  (3)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

List processes for the current user:

SystemProcessData[]

List all available processes:

processes=SystemProcessData[All]

Return the process that matches the current (RefLink[$ProcessID, paclet:ref/$ProcessID]):

processes[Select[#PID===$ProcessID&]]

Return the processes that match the current (RefLink[$Username, paclet:ref/$Username]):

processes[Select[#User===$Username&]]

OpenersExampleSection1(Spacer1)Scope  (1)

Get all available processes:

processes=SystemProcessData[All];

Get process information on the process with the lowest PID:

processes[1]

Count processes with the same program name and sort in descending order:

processes[Counts/*ReverseSort,"Program"]

List 10 processes with the most memory:

processes[TakeLargestBy["Memory",10],{"Program","Memory"}]

OpenersExampleSection3(Spacer1)Neat Examples  (1)

Submit a task that retrieves the processes with the most memory:

obj=SessionSubmit[ScheduledTask[data=SystemProcessData[][TakeLargestBy["Memory",10],{"Program","Memory"}],1]];

Dynamically display these processes:

Dynamic[data]

Remove the task:

TaskRemove[obj]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[SystemProcesses, paclet:ref/SystemProcesses])  ▪  (RefLink[StartProcess, paclet:ref/StartProcess])  ▪  (RefLink[KillProcess, paclet:ref/KillProcess])  ▪  (RefLink[$ProcessID, paclet:ref/$ProcessID])  ▪  (RefLink[ProcessInformation, paclet:ref/ProcessInformation])  ▪  (RefLink[Processes, paclet:ref/Processes])  ▪  (RefLink[ProcessObject, paclet:ref/ProcessObject])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Direct Control of External Processes, paclet:guide/DirectControlOfExternalProcesses])}})}})