Re: And you ask why I hate OMVS?



Here is what I did this morning:
The chain of pids under pid=1 looked like this 1--> 400 (userid3) --> 200
(userid5) --> 500 (userid1) --> 300 (userid5) and so on.

c userid*.* (there was no address space without a number at the end) got me:
IEE535I CANCEL INVALID PARAMETER

c userid.* (not that I expected this to work):
IEE341I userid.* NOT ACTIVE

So I ended up displaying the pids and forcing the one right below pid=1.
f bpxoinit,force=400 got rid of that process and changed the chain to 1-->
200 (userid5) --> 500 (userid1) --> 300 (userid5) and so on.
There were 7 pids left, and the last two went away together.

F OMVS,SHUTDOWN
well, at the point I detected those pids, issuing this command would have
been just as bad as what I did (shutting down the fork service), as OMVS (or
the fork service) was still needed for WBI shutdown. And thank goodness
we're not using shared HFS!

Of course automation tries to take things down in the correct order first
to eliminate unix processes and then displays them at the end and
tries to get rid of any stragglers if they exist, but 'F OMVS,SHUTDOWN'
is still the last thing done.
I am concerned with the case where some sort of 'forgotten' process makes
shutdown of another subsystem (like IMS, like DB2, like MQS, ....) impossible
because for normal shutdown they all tend to wait for running things to
complete. Except *these* running things will never terminate. So we never
get around to our catch-all automation clist that terminates the stragglers.
We ahd shutdown hang itself up because DB2 wouldn't shut down, and then a
long discussion occured if we can use the stop mode(force) on DB2. We had a
similar discussion when some sort of error prevented WBI from shutting down
and hence MQS from shutting down.

The suggestion received strong disapproval because
so many address spaces nowadays get dubbed inadvertently and
would suffer badly from an unexpected and uncaught SIGTERM.
Right. Good recovery (MVS style) would always react properly to SIGTERM, so
there would never be an 'unexpected' SIGTERM.

So, which to use: STOP, MODIFY, or SIGTERM; and in what order?
What frustrates me most is the absence of a command that will terminate a
pid chain (like described above) *without* having to issue a force to each and
every process. The numbers aren't really conducive to being analyzed by a
human, terminating them in no particular order usually results in them
multiplying all over again. Even putting what I did into a clist (always
terminating the top pid, right under pid1) is no guarantee that *some* sort of
recovery will not go and build the while tree again with new pids faster than I
can issue the termination commands, even via automation.

Oh well, thanks to all who supplied their own shutdown procedures....

Barbara

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to listserv@xxxxxxxxxxx with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html
.



Relevant Pages

  • Re: Handle STOP in a multi-threaded Windows service
    ... Simon ... >> Does Windows wait for all threads to terminate in a given timespan, ... > issuing a Thread.Abort as part of the CLR's orderly shutdown procedure. ... > flag that you could set in OnClose, once the flag set, the active thread ...
    (microsoft.public.dotnet.general)
  • Re: Blocking windows shutdown from a form on a different thread
    ... Windows shutdown, because shutting down during this period will cause ... the thread some time to terminate in you FormClosing event handler. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: [PATCH] Shutdown cooloff feature
    ... So the user would get a chance to terminate it before it's too late. ... I understand what is at stake, my problem is that in other *Unixes, sysV/Solaris ... 'shutdown now' is actually sometime in the future :-), ...
    (freebsd-current)
  • Re: Stopping threas when service shutsdown
    ... > The WatchDir method of the ServiceThread object sits in a loop, ... How can I terminate the thread only ... > serive shutdown. ...
    (microsoft.public.dotnet.languages.csharp)
  • V250 + solaris 2.8 + VxVM 4.0 => shutdown problem
    ... I discover that during the process of shutdown ... , the ps command ... And this is the reason that the script isisd don't terminate. ...
    (comp.unix.solaris)