1753716 Members
4853 Online
108799 Solutions
New Discussion юеВ

Re: Suspended Process

 
SOLVED
Go to solution
Muldowney_E
Occasional Contributor

Suspended Process

An application monitor (using sys$getjpiw) reported that an application server was suspended (ss$suspended). Why would a process be suspended and is there anything I should do to prevent this happening again?
4 REPLIES 4
Hoff
Honored Contributor

Re: Suspended Process

An application process monitor is typically coded to expect various return status codes from the $getjpiw system service call, and the SS$_SUSPENDED condition is one such return that's fairly common in many environments.

Processes can be marked as suspended for any of various reasons, auditing can suspend processes, users can suspend processes, and processes can be reported as suspended when stuck in various resource wait states.

There are two paths likely needed here; some remedial work in the process monitor to better handle this return path (as it appears to have mis-handled this case), and an investigation into the target process involved and around why that process is either suspended (by a user, or by auditing if so enabled), or in a resource wait.

Various of these resource waits can be entirely normal and quite entirely transient, and the here-presumed-failing $getjpiw call had the simple misfortune of colliding with a normal and transient resource wait state.


---
SUSPENDED, process is suspended

Facility: SYSTEM, System Services

Explanation: The specified process is suspended or placed in miscellaneous wait state. The requested operation cannot be performed when the specified process is suspended.

User Action: Resume the process or retry the operation.
Ian Miller.
Honored Contributor
Solution

Re: Suspended Process

It's often the latter case "placed in miscellaneous wait state" which should be transient.
____________________
Purely Personal Opinion
Muldowney_E
Occasional Contributor

Re: Suspended Process

Thanks for the information.
Jon Pinkley
Honored Contributor

Re: Suspended Process

At least when calling the system service, you can determine that the information wasn't available due to the process being in an MWAIT or suspended state.

When using the DCL lexical function f$getjpi(pid,"IMAGNAME") there is no way to determine if the process is running an image or if it is in an MWAIT state, since in both cases a null string is returned. I am not aware of a mechanism to get the information in a single call, and using two calls leaves a timing window open.

Jon
it depends