Good morning,
On 23 Jun 2008, at 04:10, Ian Kent wrote:
> I see, btw, what is the OpenSuSE rpm revision you are working with?
> I see an rpm of autofs-5.0.2-30.2.i586.rpm and I'm assuming the
> autofs.rpm is the source corresponding to that or am I missing
> something
> about the OpenSuSE packaging.
The one we are using is indeed autofs-5.0.2-30.2.i586.rpm and the
corresponding source rpm is autofs-5.0.2-30.2.src.rpm and it can be
obtained for example here:
http://www.mirrorservice.org/sites/ftp.opensuse.org/pub/opensuse/update/10.3/rpm/src/autofs-5.0.2-30.2.src.rpm
Regarding the need to run a single instance: you do realise that init
scripts do the exclusion already? So there should not be any reason
to repeat the exclusion in the daemon itself... At least on SuSE
systems this is done by executing daemons using "/sbin/startproc"
rather than running the daemons themselves. So you are basically
repeating everything the init script is already doing in the automount
daemon which IMHO is rather pointless given I assume all Linux
flavours use an analogous init script to launch the automount daemon.
I have included below the startproc man page if you want to have a
look what it does...
And for people like us who are not using an init script you can safely
assume we know what we are doing and that we are invoking the
automount daemon multiple times because we want to rather than because
we are stupid and need to be protected from ourselves. (-:
Best regards,
Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/
<quote "man startproc">
STARTPROC(8) The SuSE boot concept
STARTPROC(8)
NAME
Startproc - Start processes identified by path name
Start_daemon - Start processes identified by path name
SYNOPSIS
startproc [-f] [-L] [[-n ]+/-<prio>] [-s] [-t sec] [-u user] [-
g group]
[-v] [-e] [-l log_file |-q|-d] [-p pid_file] [-i ignore_file]
[-c root]
/path/to/executable [arguments for executable]
start_daemon [-f] [-n +/-<prio>] /path/to/executable
[arguments for
executable]
DESCRIPTION
startproc and the LSB variant start_daemon check for all
processes of
the specified executable and starts it if no processes are
found. Note
that startproc is designed to start a daemon but not a kernel
thread or
a program which enables a kernel thread.
startproc does not use the pid to search for a process but
the full
path of the corresponding program which is used to identify
the exe‐
cutable (see proc(5)). Only if the inode number (/proc/<pid>/
exe) and
the full name are unavailable (/proc/<pid>/cmdline) or if
the exe‐
cutable changes its zeroth argument, startproc uses the
base name
(/proc/<pid>/stat) to identify the running program.
Extended functionality is provided by the -p option (former
option -f
changed due to the LSB specification). If this option is
specified,
startproc tries to check against the pid read from this file
instead of
the default (/var/run/<basename>.pid). The pid read from
this file is
compared against the pids of possible running processes that
use the
specified executable. In order to avoid confusion with stale
pid files,
a not up-to-date pid will be ignored.
For the possibility of having two different sessions of one
binary pro‐
gram, the option -i ignore_file allows to specify a pid file
which pid
number is used to ignore all processes of corresponding
process ses‐
sion.
The option -v makes startproc print out verbose diagnostics.
REQUIRED
/path/to/executable
Specifies the executable by its full path name. This
argument is
always required. Everything that follows this path is
considered
options for the executable to be launched. Further
information
can be obtained from the respective manpage(s).
OPTIONS
[-n ]+/-<prio>
Set the nice level for the process. If used, this
option should
always be the first in the command line. The nice
level <prio>
may be specified in the range between -20 and +20.
Only root is
allowed to set negative nice values.
-e Bequeath only a minimal set of environment variables
to the new
process: HOME, PATH, SHELL, RUNLEVEL, and PREVLEVEL.
-p pid_file
(Former option -f changed due to the LSB
specification.) Use an
alternate pid file instead of the default (/var/
run/<base‐
name>.pid). The pid read from this file is
being matched
against the pid of running processes that have an
executable
with specified path. of the program. In order to
avoid confu‐
sion with stale pid files, a not up-to-date pid will be
ignored.
-i ignore_file
The pid found in this file is used as session id of
the same
binary program which should be ignored by startproc.
-f This option is required by the Linux Standard Base
Specification
(LSB). With this option the start of a process is
forced.
-g group
Sets the group ID of the process to gid.
-l log_file
Redirect the process standard output and standard
error to the
file log_file.
-L This option causes symlinks to be followed, as the
like-named
option in ls(1). BR Note : for the file name the
original name
of the program is used instead of the name of the
symbolic link.
-c root
Change root directory to root. Services which have
been started
with this option can only be checked by checkproc(8)
and sig‐
naled by killproc(8) if checkproc(8) and killproc(8)
are called
with the same option argument for the option -c.
-q Equals to -l /dev/null (supresses output).
-d Let startproc expect that the started service will do
a dialog
by prompting for, e.g. a passphrase. This option
implies a
timeout of 15 seconds (-t 15).
-s Starts the process in a new session. The new task is
a process
group leader and has no controlling tty.
-t sec The number of seconds to wait after the successful
start of a
service. This options accepts the number of seconds
to wait.
You can specify some units after a given number: s for
seconds,
m for minutes, and h for hours to wait.
-u user
Sets the user ID of the process to user.
-v Verbose output.
EXAMPLE
startproc /usr/sbin/sendmail
starts /usr/sbin/sendmail if no sendmail process is
found. If a
pid file sendmail.pid exists in /var/run/, then the pid
found in
this file is used to search the process table for a
process with
an executable that matches the specified
pathname,
/usr/sbin/sendmail. If no matching process
is found,
/usr/sbin/sendmail is launched.
startproc -p /var/myrun/lpd.pid /usr/sbin/lpd
starts /usr/sbin/lpd if there is no process with the
pid found
in /var/myrun/lpd.pid and no process in the actual
process table
exists that uses the specified binary.
EXIT CODES
The exit codes have the following LSB conform conditions:
0 Success
1 Generic or unspecified error
2 Invalid or excess argument(s)
4 Insufficient privilege(s)
5 Program is not installed
7 Program is not running
In some error cases, diagnostic output is sent to standard
error, or,
if standard error is not available, syslogd(8) is being used.
NOTE
startproc is a replacement for the Bourne shell function
daemon found
in the widely used SysVinit package of Miquel van
Smoorenburg,
<[EMAIL PROTECTED]>. startproc is not useful to start kernel
threads.
This should be done by service utilities designed for the
purpose to
accomplish this task.
BUGS
Identifying a process based on the executable file and the
correspond‐
ing inode number only works if the process stays alive
during start‐
proc's execution. Processes rewriting their zeroth argument
or shell
scripts (the inode number of the shell executable file is not
identical
to that of the script file) may not be identified by a
filename path.
Startproc does not start a process if there already exists one
being in
the zombie state. Zombies are processes which arn't alive
but listed
in the process table to have the exit status ready for the
correspond‐
ing parent processes. Therefore the parent processes should
be check
out.
FILES
/proc/ path to the proc file system (see proc(5)).
/etc/init.d/
path to the SuSE boot concept script base directory as
required
by the Linux Standard Base Specification
(LSB) (see
init.d(7)).
SEE ALSO
checkproc(8), killproc(8), insserv(8), init.d(7), kill(1),
skill(1),
killall(8), killall5(8), signal(7), proc(5).
COPYRIGHT
1994-2000 Werner Fink, 1996-2000 SuSE GmbH Nuernberg, Germany.
AUTHOR
Werner Fink <[EMAIL PROTECTED]>
3rd Berkeley Distribution Nov 10, 2000
STARTPROC(8)
</quote>
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs