000018874 - The logging server process terminates when user logs out

Document created by RSA Customer Support Employee on Jun 16, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000018874
Applies ToSentry CA 4.5.1
Keon Certificate Authority
Sun Solaris 2.6 and above
IssueThe logging server process terminates when user logs out
The logging server process 'xslogsrv' starts up along with other processes 'xudad', 'httpsd', and 'sessiond' when Keon (Sentry) CA services are started on Solaris.  However, as soon as the user, who started the KCA services, logs out of the shell, the logging server process 'xslogsrv' terminates with a SIGHUP signal.  That is, 'xslogsrv' does not survive past the session logout.
CauseThis has been noticed on some Solaris installations possibly due to how the shell has been configured, i.e., a SIGHUP is sent to all processes started by a user when the user logs out of the shell.  SIGHUP is not sent to other KCA processes (xudad, httpsd, and sessiond) because as soon as started they fork out as independent processes unlike the xslogsrv process which is started in the background using "&" and does not fork out.
ResolutionThe fix to this problem is to start the 'xslogsrv' process with 'nohup' so it ignores all SIGHUP signals.  To do so, follow these steps:

1. Stop KCA services (make sure all processes have ended)
2. Update the file <KCA-install-directory>/LogServer/bin/start-xslogsrv as follows:
      Change the following lines:
           #!/bin/sh

           sleep 1
           ./xslogsrv &
           exit 0
      to:
           #!/bin/sh

           sleep 1
           nohup ./xslogsrv &
           exit 0
3. Start KCA services

Note:  After making the above changes if you need to stop KCA services, the 'xslogsrv' process may not end.  In this case find the PID of xslogsrv and use "kill -9 PID" command to end the logging server.
Legacy Article IDa3948

Attachments

    Outcomes