summaryrefslogtreecommitdiff
path: root/astro/setiathome/files/setiathome.1
blob: 3ad84bf3fd538b7a946eacf55b1b352c55511838 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
.\" $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.