Subject Re: [firebird-support] Questions about SuperServer
Author Helen Borrie
At 07:42 PM 30/07/2006, you wrote:
>Hi all,
>
>It makes a long time since i used SS version last time. Now i'm giving it a
>try again.
>
>I have just installed FB SS 2.0 RC3 on a Linux Slackware server, and after
>estabilishing just one connection to a database, i see:
>
>root@servidor:/dados# fuser *
>trevilub.fdb.2.0: 24403 24404 24405 24406 24407 24408 24410 24411
>root@servidor:/dados#
>
>Is it expected to have all these connections to the database?
>
>Also, i see many instances of fbserver running:
>
>root@servidor:/dados# ps -e | grep fb
>24402 ? 00:00:00 fbguard
>24403 ? 00:00:00 fbserver
>24404 ? 00:00:00 fbserver
>24405 ? 00:00:00 fbserver
>24406 ? 00:00:00 fbserver
>24407 ? 00:00:00 fbserver
>24408 ? 00:00:00 fbserver
>24410 ? 00:00:00 fbserver
>24411 ? 00:00:00 fbserver
>root@servidor:/dados#
>
>Is it right?

Use the -f switch with ps and you will see that there is one fbserver
process running, while the rest are threads. And it's fine that you
can see 7 threads spawned by the server. Maybe 2 or three are being
used by your user connection; the garbage collector will have
one; and the server will spawn other threads for other internal tasks.

The "super" in "superserver means that you have a single fbserver
process that runs whether you have users connected or not - a
SUPERvising process. When a connection request arrives, the
supervising process looks for a thread to which to attach the
connection or, if it doesn't have one available, it creates a new
one. (or more, if needed).


>I noted also that "/etc/rc.d/rc.firebird stop" is not killing the server:
>
>root@servidor:/dados# /etc/rc.d/rc.firebird stop
>Stopping Firebird server:
>root@servidor:/dados# ps -e | grep fb
>24402 ? 00:00:00 fbguard
>24431 ? 00:00:00 fbserver
>24432 ? 00:00:00 fbserver
>24433 ? 00:00:00 fbserver
>24434 ? 00:00:00 fbserver
>24435 ? 00:00:00 fbserver
>root@servidor:/dados#

That's because fbserver isn't controlled by an xinetd daemon like
fb_inet_server.

There is an application named fbmgr that you use to stop superserver
(if you must!!). Log in as a suitable user and go to Firebird's /bin
directory. use the bare command "./fbmgr" (with no switches) to get
a list of the switches available.

./heLen