Seon check running daemons
Contents
Which processes must run
In order to keep Seon running, the following processes must exist:
seonrd
: The Seon master receive daemon (parent process of the subsequent receive daemon processes)seonrd_tcpip
: The Seon receive daemon for accepting TCP/IP connectionsseonrd_tcpip_tls
: The Seon receive daemon for accepting TLS secured TCP/IP connections for OFTP2seonrd_capi_0
: The Seon receive daemon for accepting ISDN connections on the first ISDN controller- (
seonrd_capi_x
: subsequent ISDN controller receivig processes, if more controllers are configured)
seonsqd
: Seon send queue daemon. Parent process of running actions started by this process, like sending send queue entries, polling partners, updating CRLs etc.seondebugd
: Seon debug daemon which collects debugging information from every Seon process for problem reporting
In case you have Seon Enterprise, the following process must also exist:
seonclientd
: Seon client daemon, responsible for user authentification and Seon Enterprise job processing
How do the processes save their state
Every Seon daemon process saves its PID (process ID) in the database. If a value exists in the database on startup, the daemon refuses to start with the message that another daemon must be running at the moment. In some rare cases, the database information may not meet the real situation, when PIDs are saved in the database and no processes are running. In this case, you can start the daemon in 'forced' mode which overrides the PID check at daemon start.
Beware: If more than one daemon is running, race conditions occur between the different running programs, mostly leading to problems in receiving or sending files. This situation is highly unsupported and absolutely to be avoided!
Identify running processes
In this example, the Seon receive daemon will be checked for existance. Furthermore, the listening functionality on the configured TCP/IP ports is being checked.
All examples are being shown in a Linux environment. If you have another supported Unix environment (like AIX, HP/UX or Solaris) you may need to modify the command accordingly.
normal situation =
The process table will be checked for running "seonrd
" processes:
seonbox:~# ps -ef | grep seonrd | grep -v grep www-data 3771 1 0 08:58 ? 00:00:00 /opt/seon/bin/seonrd www-data 3772 3771 0 08:58 ? 00:00:00 seonrd_tcpip www-data 3773 3771 0 08:58 ? 00:00:00 seonrd_tcpip_tls www-data 3774 3771 0 08:58 ? 00:00:00 seonrd_capi_0
Process IDs explained:
- 3771: Seon receive daemon master process
- 3772: daemon listening on port 3305
- 3773: daemon listening on port 6619
- 3774: daemon listening on first configured ISDN controller
When checking the open ports, the tool "lsof
" is very handy:
seonbox:~# lsof -p 3772 | grep LISTEN seonrd 3772 www-data 3u IPv4 84960962 TCP *:3305 (LISTEN)
seonbox:~# lsof -p 3773 | grep LISTEN seonrd 3773 www-data 3u IPv4 84960964 TCP *:6619 (LISTEN)
Checking ISDN incoming call acceptance is a little bit more complicated, which is described elsewhere.