Bug 27418

Summary: There are *no* examples of using /etc/ttys inittab-like feature
Product: Base System Reporter: mwm
Component: confAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.3-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description mwm 2001-05-18 00:50:01 UTC
The init page mentions - in one paragraph - that /etc/ttys can be used to
start a daemon, similar to the SysV /etc/inittab. This doesn't include an
example, and there don't seem to be any such examples.

Fix: Here's a patch to add an example - turned off - to /etc/ttys.
How-To-Repeat: 
Read the man page and look for examples.
Comment 1 dima 2001-05-18 06:07:52 UTC
mwm@mired.org writes:
> 
> >Number:         27418
> >Category:       conf
> >Synopsis:       There are *no* examples of using /etc/ttys inittab-like feature
> --- /etc/ttys	Thu May 17 18:31:22 2001
> +++ /tmp/ttys	Thu May 17 18:38:10 2001
> @@ -46,6 +46,10 @@
>  ttyd1	"/usr/libexec/getty std.9600"	dialup	off secure
>  ttyd2	"/usr/libexec/getty std.9600"	dialup	off secure
>  ttyd3	"/usr/libexec/getty std.9600"	dialup	off secure
> +# Daemon example
> +# This will make init run /tmp/testd with an argument of "Example", restarti
> ng
> +# it whenever it exits.
> +Example	"/usr/libexec/sampledaemon"	none	off

So is it /tmp/testd or /usr/libexec/sampledaemon?  Or am I missing something?

>  # Pseudo terminals
>  ttyp0	none			network
>  ttyp1	none			network
> 
> >Release-Note:
> >Audit-Trail:
> >Unformatted:
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-bugs" in the body of the message
>
Comment 2 mwm 2001-05-18 08:25:44 UTC
Dima Dorfman <dima@unixfreak.org> types:
> mwm@mired.org writes:
> > 
> > >Number:         27418
> > >Category:       conf
> > >Synopsis:       There are *no* examples of using /etc/ttys inittab-like feature
> > --- /etc/ttys	Thu May 17 18:31:22 2001
> > +++ /tmp/ttys	Thu May 17 18:38:10 2001
> > @@ -46,6 +46,10 @@
> >  ttyd1	"/usr/libexec/getty std.9600"	dialup	off secure
> >  ttyd2	"/usr/libexec/getty std.9600"	dialup	off secure
> >  ttyd3	"/usr/libexec/getty std.9600"	dialup	off secure
> > +# Daemon example
> > +# This will make init run /tmp/testd with an argument of "Example", restarti
> > ng
> > +# it whenever it exits.
> > +Example	"/usr/libexec/sampledaemon"	none	off
> 
> So is it /tmp/testd or /usr/libexec/sampledaemon?  Or am I missing something?

No, you're not missing anything. I did it as "/tmp/testd" when I
tested it, and changed it halfway through - but only got one of the
two places with the file name. The example quoted will run
/usr/libexec/sampledaemon.

	<mike
--
Mike Meyer <mwm@mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Comment 3 DougB 2001-05-22 23:20:09 UTC
mwm@mired.org wrote:

> The init page mentions - in one paragraph - that /etc/ttys can be used to
> start a daemon, similar to the SysV /etc/inittab. This doesn't include an
> example, and there don't seem to be any such examples.

	I think that's because in practice it doesn't work well for daemons that
fork and put themselves in the background. getty doesn't do that, so init
holds it open continuously, and respawns a new copy if the one it's holding
open dies. In the case of a standard daemon, init will continuously restart
it since when init runs the command the copy it's trying to hold open
"disappears" each time.

	How would you feel about amending the man page to describe this problem
instead of adding an example to /etc/ttys?

Doug
Comment 4 Peter Pentchev 2001-05-23 07:17:08 UTC
On Tue, May 22, 2001 at 03:30:03PM -0700, Doug Barton wrote:
> The following reply was made to PR conf/27418; it has been noted by GNATS.
> 
> From: Doug Barton <DougB@DougBarton.net>
> To: mwm@mired.org
> Cc: FreeBSD-gnats-submit@FreeBSD.ORG
> Subject: Re: conf/27418: There are *no* examples of using /etc/ttys inittab-like 
>  feature
> Date: Tue, 22 May 2001 15:20:09 -0700
> 
>  mwm@mired.org wrote:
>  
>  > The init page mentions - in one paragraph - that /etc/ttys can be used to
>  > start a daemon, similar to the SysV /etc/inittab. This doesn't include an
>  > example, and there don't seem to be any such examples.
>  
>  	I think that's because in practice it doesn't work well for daemons that
>  fork and put themselves in the background. getty doesn't do that, so init
>  holds it open continuously, and respawns a new copy if the one it's holding
>  open dies. In the case of a standard daemon, init will continuously restart
>  it since when init runs the command the copy it's trying to hold open
>  "disappears" each time.
>  
>  	How would you feel about amending the man page to describe this problem
>  instead of adding an example to /etc/ttys?

Isn't this the (standard, expected) behavior for init(8) when handling
SysV-style /etc/inittab-started daemons?

G'luck,
Peter

-- 
I am the meaning of this sentence.
Comment 5 dd freebsd_committer freebsd_triage 2001-09-06 14:26:18 UTC
State Changed
From-To: open->closed

According to the audit-trail, consensus seems to be that it's best to 
ammend the man page.  Please file a docs PR if/when you're done.