Process Manager services: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 4: | Line 4: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || GetMaintenanceMode | | 0 || GetMaintenanceMode | ||
|- | |- | ||
| 1 || EnableMaintenanceMode | | 1 || EnableMaintenanceMode | ||
Revision as of 00:36, 19 July 2017
pm:bm
| Cmd | Name |
|---|---|
| 0 | GetMaintenanceMode |
| 1 | EnableMaintenanceMode |
pm:info
| Cmd | Name |
|---|---|
| 0 | GetProcessTitleID |
pm:shell
| Cmd | Name |
|---|---|
| 0 | LaunchProcess |
| 1 | TerminateProcessByPid |
| 2 | TerminateProcessByTitleID |
| 3 | GetProcessEventWaiter |
| 4 | GetProcessEventType (0=CONTINUE, 1=CRASHING, 2,3,5) |
| 5 | #FinalizeDeadProcess |
| 6 | #ClearProcessCrashedFlag |
| 7 | #NotifyBootFinished |
| 8 | #GetCrashingProcessPid |
FinalizeDeadProcess
Takes a pid as input. If the process with pid has the state "dead", it unregisters the pid in fsp:pr, sm:m, and ldr:pm.
Then it removes the process from PMs internal linked-list of active processes.
ClearProcessCrashedFlag
Takes a pid as input. Clears 0x10 from process flags.
NotifyBootFinished
Launches a process with hardcoded boot2 title-id.
GetCrashingProcessPid
Loops through the internal linked-list of processes, looks for mask 0x40 set in process flags. Returns pid of first such entry.