setiathome - the SETI@home client program


setiathome [__options__?


setiathome is the UNIX version of the 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 for more information.


The program generates several files with .sah extension in the directory from which it is run. These should not be modified.

If you want to run multiple instances of setiathome (on a multiprocessor machine, or on multiple machines that share a filesystem) each one must be run in a different directory. You can use symlinks for each directory to avoid duplication of the binary image. e.g.:

ln -s cpu0/setiathome cpu1/setiathome setiathome uses a lock file (lock.txt) to prevent multiple instances from running in the same directory.

To finish up your current work unit, return your result, and not download a new work unit, while the client is running, touch a file named *** Note this one file extension is .txt, while all other files used by the client have extensions .sah ***__

The file


It is suggested that the user create a new directory, say, /root/setiathome (henceforth referred to as SETIDIR) and then cd into SETIDIR, before running setiathome for the first time. The first time you run setiathome it will interactively ask you for email address, name, country etc. This info is stored in a file and no interaction is needed when you run the program subsequently.

After this you can run setiathome in the background, and direct its output to /dev/null if you like.

setiathome can be freely aborted and restarted. It saves its state in files, and will pick up where it left off.

If you want setiathome to be started automatically, you may wish to setup a cron job. If you add the following line to your crontab:

0 * * * * cd SETIDIR; setiathome -nice 19 (where SETIDIR is the directory chosen above - where you normally run the client program from), this cron job will attempt to start the client at the top of every hour. If it is already running, the next invocation will do nothing. If the client is not running, it will be started. For more information on cron jobs see the __crontab(1)?__ manual page.

The following script will stop all instances SETI@home: (assuming the binary execution name is: setiathome)

  1. /bin/sh

kill `ps aux | grep setia | grep -v grep | awk '{print }'` The following will stop the instance in the current directory:

  1. /bin/sh

kill `cat pid.sah` Please do not operate the client on machines for which you do not have permission.


If the environment variable HTTP_PROXY is defined, setiathome will connect through a proxy server, specified as hostname or hostname:port.

If the environment variable SOCKS_SERVER is defined, setiathome will connect through a SOCKS server, specified as hostname or hostname:port. If the environment variables SOCKS_USER and SOCKS_PASSWD are defined, these will be used as the login name and password for the SOCKS server. Otherwise setiathome will query you.



Login or create new account.


Show list of country codes.


show software version

-nice N



Send email (to login email address) on errors. Useful if you run in background directed to /dev/null.


Generate a data stream for the xsetiathome graphical interface (available from version 2). This option is not available for all clients. The debian version of the setiathome package currently does not install xsetiathome currently, due to a X-library incompatibility of the precompiled binary.

-proxy hostname:port

Connect to SETI@home server via specified proxy server and port.

-socks_server hostname:port

Connect to SETI@home server via specified SOCKS server and port. Overrides SOCKS_SERVER. SOCKS versions 4 and 5 are supported.

-socks_user name

SOCKS user name.

-socks_password password

SOCKS password.


If a work_unit.sah file is present, process this work unit and stop after processing is complete, do not return result. If the client is started with this option, and there is a completed result.sah file present, the client will first return the results, then pick up a new work unit, process to completion, then exit.


Return results and pick up a new work unit. This option only functions if the result.sah file is present and complete indicating that processing is finished for this work unit. If a work_unit.sah is present, indicating processing is not complete, no transfer or processing will be performed, and the client will exit.


print a running summary of the work being done. Starting with the version 2.4 clients, the client is silent to stdout during processing. There are messages at the start and finish of processing a work unit, but there are no progress messages printed during processing unless this option is used.


omit the multiple-instance check, which uses file locking (not available on some NFS systems)


Outstanding shared memory segments and semaphores may be left active in case of an abnormal exit of the 'setiathome

  • graphics' process. These can prevent any future invocation

of and 'ipcrm' to remove shared memory segments and semaphores that are not associated with a process. This behavior may vary depending upon how your UNIX system handles this situation. See also __ipcs(1)? and ipcrm(1)?__

For version 3.0 clients, the estimated progress as indicated by the prog= line in the 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.


There is much more information to be found about the operation of the client at the following WEB sites: with discussions of add-on programs and scripts to control the client in various situations.


This manual page was written by Gopal Narayanan setiathome__ client program.

This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.