How to disconnect a forgotten promon session? (proshut does not seem capable of doing it) - Forum - OpenEdge General - Progress Community

How to disconnect a forgotten promon session? (proshut does not seem capable of doing it)

 Forum

How to disconnect a forgotten promon session? (proshut does not seem capable of doing it)

This question is answered

Hi all, promon connections appear with a type of MON in another promon session.  Fine.  However they do not appear in the connected users list given by proshut. Perhaps this explains why we cannot disconnect/close another promon session..

The following command does not work for a promon session:

    proshut <dbname> -C disconnect <usernum>   

Saying:

    User 24 not logged on . (6799)

Is there a smart way to close a promon session left running in another OS session, other than killing its process?

If no, is there a good reason for that?  Is there a risk to damage a database by kiling a promon process?

Verified Answer
  • This was improved in 11.5

    Take a look at knowledgebase.progress.com/.../000052723

  • > Now it seems to work, but sometimes after some delay

    On Unix proshut -C disconnect sets the "usrtodie" flag in shared memory /and/ sends a signal (SIGEMT, SIGTRAP or SIGUSR2 depending of Unix flavors). I guess there is a reason for sending a signal. On Windows Progress can't use the signals. Maybe it's why there is a delay on Windows.

All Replies
  • > Is there a smart way to close a promon session left running in another OS session, other than killing its process?

    No. But try to get a protrace file first. BTW, _mprshut processes (including promon) are "fragile" to the SIGUSR1 signal. Under the normal circumstances on the receiving the signal they generate protrace file but then they are terminated.

    > Is there a risk to damage a database by kiling a promon process?

    I guess that in our case the promon sessions (more than one) hung because they all are waiting for some database resource. So killing them will crash the database.

    Does new promon session will hang as well?

    Do you start them with the -NL?

    Do you change working area to 3. Primary Recovery Area?

  • This was improved in 11.5

    Take a look at knowledgebase.progress.com/.../000052723

  • Thank you for your input George.  Actually, I did not say the first old promon was hanging of hitting any system issue.

    Recently we had a case of a colleague that was not capable of restarting a database in production because a local IT had left a promon session running in his windows session on a server.  That's why I was wondering whether there would be a way to nicely disconnect such a forgotten promon, and especially why it seems to not be possible.

  • Hi Ruanne, thank you for pointing out KBase 52723 (weird I could not find it myself, cause I did search...).  This morning with 11.6.2 I had the impression Proshut -C disconnect was not effective for another promon (both promon running in same win10 session).  Now it seems to work, but sometimes after some delay

    BTW it now says

    User 20 disconnect initiated. (6796)

    Wondering what I may have missed...

  • > Now it seems to work, but sometimes after some delay

    On Unix proshut -C disconnect sets the "usrtodie" flag in shared memory /and/ sends a signal (SIGEMT, SIGTRAP or SIGUSR2 depending of Unix flavors). I guess there is a reason for sending a signal. On Windows Progress can't use the signals. Maybe it's why there is a delay on Windows.