The logging server process terminates when user logs out
2 years ago
Originally Published: 2001-07-18
Article Number
000051467
Applies To
Sentry CA 4.5.1
Keon Certificate Authority
Sun Solaris 2.6 and above
Issue
The 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.
Cause
This 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.
Resolution
The 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.