texisd [-o[logfilename]] [-l] [-a[username]] [-pport]
[-- [-n] [-pprofilename] [database]]
texisd [-pport] [-k]
The Texis daemon,
texisd, allows client programs to make SQL
queries against Texis databases. It allows for tight or loose login
control, anonymous (no password) login, and optional logging of all
connections. By default it listens for client connections on TCP/IP
service port 10002. All data to be made available to clients must be
accessible by the server process. Conversely, all data accessible by
the server will be available to its clients (depending on who they login
When the server daemon is executed it first kills any previous copy of
itself that is running on its port. It then creates an id file in
/tmp that contains the process id of itself so that it may be
killed by the next server invocation, if any. The format of the
nnn is the name of the
999 is the port it is listening on. (e.g. the
default file would be
/tmp/.texisd10002.pid. If the Texis daemon
is being run from a system startup script its id file should be deleted
before running it. This will prevent inadvertent killing of an
unrelated process. See the
-k option, described later, for a
simple way to kill a running server.
The server will accept an unlimited number of simultaneous connections. For each connection it forks a new process. Each fork, exits when its connection is closed.
The server handles user logins in one of two ways. When
is run as
root it behaves much as the normal system login. The working
directory, user id, and group id are changed to that of the user logging
in. There must be an entry in
/etc/passwd or the NIS
database and the
correct password must be provided for a user to log in. The user may
request a group other than the default specified for it. The specified
group must be one that the user is a member of.
If anonymous logins are enabled using the
-a option the anonymous
user must be a valid user on the system, but may use any or no password
to log in. In addition to the above login actions, the root directory
will be reset to the anonymous user's login directory by performing a
texisd is not run as
root it behaves much as above except
that the user and group ids are left as that of the user that executed
the daemon. Therefore logging in as anyone but that user is likely to
fail because of lack of permissions. Anonymous login, if enabled, is
also handled differently. The anonymous user need not be a valid user
on the system (it may even be an empty string ""). And the working
directory is set to what it was when the server was executed.
The same user name and password used to log in will be used to authenticate the user against Texis databases. If the user name is not empty ("") databases will be accessed using Texis permissions Therefore there must be a matching record in the SYSUSERS Texis table of any database that user is allowed to access. If the user name is empty then the username defaults to PUBLIC.
When a client connects to the Texis server, the server reads a Metamorph
profile from the current
directory to get default parameters for the SQL
The profile is named
profile.mm3. If there is no profile,
internal defaults are used. This behavior may be overridden by using
-p options as described later.
texisd are divided into two groups. The first group
controls network and user login behavior. The second group controls
Texis behavior. If options from the second group are used they must be
separated from previous options with a double dash (
Network and user control options
Square brackets (
) indicate optional items and are not entered
on the command line. Options are preceded by a dash (
-) and may
not be grouped together. There should not be any space between an
option letter and its argument (if any).
Send output to
logfilename is not
specified output is sent to the standard error output. By default the
server has no output, except for catastrophic error messages, unless the
-l option is used.
Log logins. Logins are recorded one per line with the client machine,
username, time, and date of login followed by
failed. The log will be sent to the standard error output unless
-o option is used.
Allow anonymous logins. The login name for for anonymous login will be
username is not specified.
Change the TCP service port to listen to for client connections. By
texisd listens on port 10002.
port may be numeric indicating a specific port number or may be a
symbolic name that is present in the local
/etc/services file or
the NIS service maps.
port should be a dash (
-) if the server is being executed
from inetd (e.g.
Kill the server that is currently running and quit. Be sure to use the
-p option before this option if the server you wish to kill is on
a different port than the default. The server will also respond to a
kill command. The server id file, described earlier,
should be deleted if the server is killed not using this option. This
will prevent inadvertent killing of an unrelated process.
Texis control options
No profile read on startup. Normally
texisd will read a
Metamorph profile to get default parameters for the SQL
profilename instead of the default Metamorph profile to get
default parameters for the SQL
Metamorph profiles, TCP/IP services, your system's user account maintenance manuals.
runs the server with all default behavior.
texisd -p9876 -l -o/tmp/texislog
runs the server on TCP service port 9876 and logs logins to
texisd -l -o/tmp/texislog -- -p/usr/local/morph3/profile.mm3
logs logins to
/tmp/texislog and uses
/usr/local/morph3/profile.mm3 as the Metamorph profile.
enables anonymous login as
texisd -p9876 -k
kill a server on the default port and port 9876 respectively.