044a2ff8cf
- only one master shell to monitor multiple setiathome instances - wait some time for setiathome server to come up between restarts - xsetiathome comes back - -graphics is now the default (so xsetiathome may be launched) - registration heuristic changed (see comments below) - take care, some variable names have changed (see comments below) - manual page reviewed The setiathome manual page refer to setiathome.conf while it is now named rc.setiathome.conf. also, the manual page has been completed (variables, start/stop scripts, etc.) - gracefull startup script option added Makefile PORTVERSION bumped PORTREVISION deleted FORBIDDEN deleted BROKEN bumped to 4.0 NO_XBIN deleted except for linux_base-6 wrapper added pkg-install registration heuristic changed (don't register if already registered, then automatically start setiathome in either case) pkg-list $FreeBSD$ added libexec/setiathome.bin added pkg-message FreeBSD 5.x a.out comment changed to FreeBSD 4.x comment files/rc.setiathome.conf seti_std_args defaulted to "-email -graphics" seti_proxy_args changed to seti_proxy_server seti_socks_server, seti_socks_user, seti_socks_passwd added seti_sleep changed to seti_sleep_time files/setiathome.1 /usr/local changed to %%PREFIX%% above and below changes described files/setiathome.sh same changes as files/rc.setiathome.conf don't start setiathome if already started su heuristic changed to call an external wrapper gracefull (aka apachectl :) option added using stop_after_send.txt PR: 50723,51759,52297,52709 Submitted by: cyrille.lefevre@laposte.net
335 lines
8.4 KiB
Groff
335 lines
8.4 KiB
Groff
.\" $FreeBSD$
|
|
.Dd Dec 12, 2000
|
|
.Dt setiathome 1 LOCAL
|
|
.Os FreeBSD
|
|
.Sh NAME
|
|
.Nm setiathome
|
|
.Nd the SETI@home client program
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Ar options
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is the
|
|
.Ux
|
|
version of the
|
|
.Tn SETI@home
|
|
client.
|
|
It downloads radio telescope data from a network server,
|
|
analyzes the data looking for signals of extraterrestrial origin,
|
|
and uploads results to the server, repeating this cycle indefinitely.
|
|
See
|
|
.Li http://setiathome.berkeley.edu
|
|
for more information.
|
|
.Pp
|
|
The first time you run
|
|
.Nm
|
|
it will interactively
|
|
ask you for E-mail address, name, country etc.
|
|
This info is stored in a file and no interaction is
|
|
needed when you run the program subsequently.
|
|
.Pp
|
|
After this you can run
|
|
.Nm
|
|
in the background,
|
|
and direct its output to
|
|
.Pa /dev/null
|
|
if you like.
|
|
.Pp
|
|
.Nm
|
|
can be freely stopped and restarted.
|
|
It saves its state in files, and will pick up where it left off.
|
|
.Pp
|
|
If you want to run multiple instances of
|
|
.Nm
|
|
(on a multiprocessor machine, or on multiple machines
|
|
that share a filesystem) each one must be run in a different directory.
|
|
.Sh IMPLEMENTATION NOTES
|
|
.Nm
|
|
requires about 0.5\ MBytes of disk space per working directory, and about
|
|
15\ MBytes of memory per instance.
|
|
If you have ample physical memory, its work load should be almost undetectable.
|
|
Additionally,
|
|
.Nm
|
|
requires a permanent or
|
|
.Dq dial on demand
|
|
Internet connection to upload results to and download new work units from the
|
|
.Tn SETI@home
|
|
server at any time.
|
|
.Sh OPTIONS
|
|
.Bl -tag -width countries
|
|
.It Fl countries
|
|
Show list of country codes.
|
|
.It Fl email
|
|
Send E-mail (to login E-mail address) on errors.
|
|
Useful if you run in background directed to
|
|
.Pa /dev/null .
|
|
.It Fl graphics
|
|
Generate a data stream for the
|
|
.Xr xsetiathome 1
|
|
graphical interface.
|
|
.It Fl login
|
|
Login or create new account.
|
|
.It Fl nice Ar N
|
|
Set
|
|
.Xr nice 1
|
|
priority to
|
|
.Ar N
|
|
(default 1).
|
|
.It Fl nolock
|
|
Omit the multiple-instance check, which uses file locking
|
|
(not available on some NFS systems).
|
|
.It Fl proxy Ar hostname : Ns Ar port
|
|
Connect to
|
|
.Tn SETI@home
|
|
server via specified HTTP proxy server and port.
|
|
.It Fl socks_passwd Ar password
|
|
SOCKS
|
|
.Ar password .
|
|
.It Fl socks_server Ar hostname : Ns Ar port
|
|
Connect to
|
|
.Tn SETI@home
|
|
server via specified SOCKS server and port.
|
|
Overrides
|
|
.Ev SOCKS_SERVER .
|
|
SOCKS versions 4 and 5 are supported.
|
|
.It Fl socks_user Ar name
|
|
SOCKS user
|
|
.Ar name .
|
|
.It Fl stop_after_process
|
|
Stop after processing current work unit.
|
|
Do not send result.
|
|
.It Fl stop_after_xfer
|
|
Stop after current work unit has been sent to the SETI
|
|
server and a new work unit has been obtained.
|
|
(See also
|
|
.Pa stop_after_send.txt
|
|
mentioned in
|
|
.Sx FILES
|
|
below.)
|
|
.It Fl verbose
|
|
Print a running summary of the work being done.
|
|
.It Fl version
|
|
Show software version.
|
|
.El
|
|
.Sh USAGE
|
|
.Ss Starting setiathome
|
|
This
|
|
.Fx
|
|
port includes a start-up script that starts
|
|
.Nm
|
|
at system start-up and stop it at system shut-down.
|
|
.Ss Stopping setiathome
|
|
There is two way to stop
|
|
.Nm ,
|
|
gracefully (See
|
|
.Pa stop_after_send.txt
|
|
mentioned in
|
|
.Sx FILES
|
|
below) and urgently (using kill as done at system shut-down time).
|
|
To do so, respectively run
|
|
.Pp
|
|
.Dl %%PREFIX%%/etc/rc.d/%%PREFX%%setiathome%%SUFX%%.sh gracefull
|
|
or
|
|
.Dl %%PREFIX%%/etc/rc.d/%%PREFX%%setiathome%%SUFX%%.sh stop
|
|
.Ss Configuration File
|
|
The optional configuration file
|
|
.Pa %%PREFIX%%/etc/rc.%%PREFX%%setiathome%%SUFX%%.conf
|
|
may contain one or more of the following variable assignments to override
|
|
their default values:
|
|
.Bl -tag -width seti_wrkdir
|
|
.It Pa seti_wrkdir=/var/db/setiathome
|
|
The working directory where
|
|
.Nm
|
|
will store it's temporary files.
|
|
.It Pa seti_std_args=-email and/or -graphics
|
|
The command line arguments for normal start-up.
|
|
.It Pa seti_reg_args=-login
|
|
The command line arguments for registration.
|
|
.It Pa seti_proxy_server=hostname:port
|
|
The HTTP proxy server and port to connect through.
|
|
.It Pa seti_socks_server=hostname:port
|
|
The SOCKS server and port to connect through.
|
|
.It Pa seti_socks_user=username
|
|
The SOCKS user name to connect with.
|
|
.It Pa seti_socks_passwd=password
|
|
The SOCKS password to connect with.
|
|
.It Pa seti_user=setiathome
|
|
The user to run
|
|
.Nm
|
|
as.
|
|
.It Pa seti_group=setiathome
|
|
The group to run
|
|
.Nm
|
|
as (only used at registration time).
|
|
.It Pa seti_nice=15
|
|
The
|
|
.Xr nice 1
|
|
value to run
|
|
.Nm
|
|
at.
|
|
.It Pa seti_maxprocs= Ns Va Number of CPUs
|
|
The number of
|
|
.Nm
|
|
processes to run concurrently. Defaults to the number of CPUs installed.
|
|
Running more than one instance per CPU is not useful, as
|
|
.Nm
|
|
is almost completely CPU-bound.
|
|
.It Pa seti_sleep_time=21600
|
|
The time to sleep (in seconds) between restarts if the
|
|
.Nm
|
|
data server is unresponsive.
|
|
.El
|
|
.Pp
|
|
If you change values in the configuration file, you need to stop and start
|
|
.Nm Ns ,
|
|
and possibly reconfigure the working directory for the changes to take
|
|
effect. Run
|
|
.Pp
|
|
.Dl %%PREFIX%%/etc/rc.d/%%PREFX%%setiathome%%SUFX%%.sh stop
|
|
.Dl %%PREFIX%%/etc/rc.d/%%PREFX%%setiathome%%SUFX%%.sh register
|
|
.Dl %%PREFIX%%/etc/rc.d/%%PREFX%%setiathome%%SUFX%%.sh start
|
|
.Pp
|
|
to do that.
|
|
.Ss Setting up setiathome
|
|
You can use the start-up script to set up a working directory
|
|
and register with or log in to
|
|
.Tn SETI@home
|
|
by calling it with the argument
|
|
.Ar register .
|
|
If you'd like to configure and run it manually, you should first disable the
|
|
start-up script. Then, for each
|
|
.Nm
|
|
instance you'd like to run, create a directory, make it owned by the user
|
|
you'd like to run
|
|
.Nm
|
|
as, and run
|
|
.Ic setiathome -login
|
|
in that directory.
|
|
.Pp
|
|
Then, arrange for
|
|
.Nm
|
|
to be started automatically. You can easily do so by adding a line similiar
|
|
to
|
|
.Bd -ragged -offset indent
|
|
.Li */10 * * * * cd
|
|
.Va working directory
|
|
.Li && setiathome -email >/dev/null
|
|
.Ed
|
|
.Pp
|
|
to the user's crontab.
|
|
.Sh ENVIRONMENT
|
|
.Bl -tag -width SOCKS_SERVER
|
|
.It Ev HTTP_PROXY
|
|
If defined,
|
|
.Nm
|
|
will connect through a proxy server, specified as
|
|
.Do Ns Va hostname Ns
|
|
.Op Li : Ns Va port
|
|
.Dc .
|
|
.It Ev SOCKS_SERVER
|
|
If defined,
|
|
.Nm
|
|
will connect through a SOCKS server, specified as
|
|
.Do Ns Va hostname Ns
|
|
.Op Li : Ns Va port
|
|
.Dc .
|
|
.It Ev SOCKS_USER , Ev SOCKS_PASSWD
|
|
If defined, these will be used as the login name and password
|
|
for the SOCKS server.
|
|
Otherwise
|
|
.Nm
|
|
will query you.
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width /var/db -compact
|
|
.It Pa %%PREFIX%%/etc/rc.d/%%PREFX%%setiathome%%SUFX%%.sh
|
|
Start-up script.
|
|
.Pp
|
|
.It Pa %%PREFIX%%/etc/rc.%%PREFX%%setiathome%%SUFX%%.conf
|
|
Optional configuration file for the start-up script.
|
|
.Pp
|
|
.It Pa /var/db/setiathome/
|
|
Primary working directory.
|
|
.Pp
|
|
.It Pa /var/db/setiathome/user_info.sah
|
|
Registration data.
|
|
.Pp
|
|
.It Pa /var/db/setiathome/ Ns Va n Ns Pa /
|
|
Working directories for additional process
|
|
.Va n
|
|
(when running more than one instance).
|
|
.Pp
|
|
.It Pa /var/db/setiathome/ Ns Xo
|
|
.Op Ns Va n Ns Pa / Ns
|
|
.Pa lock.sah
|
|
.Xc
|
|
Lock file to prevent multiple instances to work on the same data.
|
|
.Pp
|
|
.It Pa /var/db/setiathome/ Ns Xo
|
|
.Op Ns Va n Ns Pa / Ns
|
|
.Pa *.sah
|
|
.Xc
|
|
Working files.
|
|
These should not be modified.
|
|
.Pp
|
|
.It Pa /var/db/setiathome/ Ns Xo
|
|
.Op Ns Va n Ns Pa / Ns
|
|
.Pa pid.sah
|
|
.Xc
|
|
The process ID of the current instance.
|
|
.Pp
|
|
.It Pa /var/db/setiathome/ Ns Xo
|
|
.Op Ns Va n Ns Pa / Ns
|
|
.Pa stop_after_send.txt
|
|
.Xc
|
|
While the client is running, touch this file in the working directory
|
|
to finish up your current work unit, return your result, and not
|
|
download a new work unit.
|
|
When the processing is finished, and the result sent, the client will stop.
|
|
Note this one file extension is
|
|
.Pa .txt ,
|
|
while all other files used by
|
|
the client have extensions
|
|
.Pa .sah .
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr xsetiathome 1 ,
|
|
.Xr ipcs 1 ,
|
|
.Xr ipcrm 1 .
|
|
.Sh AUTHORS
|
|
.Tn SETI@home
|
|
was developed by David Anderson, Jeff Cobb, Charles Congdon, Charlie Fenton,
|
|
David Gedye, Kyle Granger, Eric Korpela, Matt Lebofsky, Peter Leiser, Brad
|
|
Silen, Woody Sullivan, and Dan Werthimer.
|
|
.Pp
|
|
.An Stefan Bethke Aq stb@freebsd.org
|
|
amended the original manual page for this
|
|
.Fx
|
|
port.
|
|
.Sh BUGS
|
|
Outstanding shared memory segments and semaphores may be left
|
|
active in case of an abnormal exit of the
|
|
.Ic setiathome -graphics
|
|
process. These can prevent any future invocation of
|
|
.Ic setiathome -graphics .
|
|
To resolve this problem, use
|
|
.Xr ipcs 1
|
|
and
|
|
.Xr ipcrm 1
|
|
to remove shared memory segments and semaphores that
|
|
are not associated with a process. This behavior may vary
|
|
depending upon how your
|
|
.Ux
|
|
system handles this situation.
|
|
.Pp
|
|
For version 3.* clients, the estimated progress as indicated
|
|
by the
|
|
.Pa prog=
|
|
line in the
|
|
.Pa state.sah
|
|
file in not exactly linear
|
|
in relationship to completion time. Using this value to
|
|
predict completion time may not be completely accurate.
|
|
The linear relationship will vary depending upon the characteristics
|
|
of the work unit parameters.
|