Newsgroups: fj.unix,fj.archives.answers
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!news.u-tokyo.ac.jp!sinetnews!news.ipc.chiba-u!news.tj.chiba-u!asada
From: asada@icsd6.tj.chiba-u.ac.jp (Takuya Asada)
Subject: Unix - Frequently Asked Questions (4/7)
Message-ID: <CsEJ9s.9Ky@ics.tj.chiba-u.ac.jp>
Followup-To: fj.unix
Lines: 642
Sender: news@ics.tj.chiba-u.ac.jp
Nntp-Posting-Host: gull.icsd6.tj.chiba-u.ac.jp
Organization: Chiba-University
X-Newsreader: mnews [version 1.18] 1994-05/16(Mon)
Date: Mon, 4 Jul 1994 05:58:39 GMT
Xref: galaxy.trc.rwcp.or.jp fj.unix:1495 fj.archives.answers:80
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.unix&nb=1495&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

Archive-name: unix-faq/faq-jp/part4
Last-modified: 2 Jul 1994

$B$3$N5-;v$O(B tmatimar@isgtec.com $B$K$h$C$F:n@.$5$l$?(B Unix $B$K4X$9$k(B FAQ $B%j%9%H(B 
v 2.5 $B$r!"0J2<$N%a%s%P!<$,K]Lu$7$?$b$N$G$9!#(B

        $BD9(B@SRA ( m-cho@srasvc.sra.co.jp )
        $BF#:j(B@NTT$B%=%U%H%&%'%"8&5f=j(B (fujisaki@nttslb.ntt.jp)
        $BEgED(B@$BK-665;=Q2J3XBg3X(B (shimada@tut.ac.jp)
        $B@uED(B@$B@iMUBg3X(B (asada@icsd6.tj.chiba-u.ac.jp)
        $B:4F#(B@$B%=%U%H%&%'%"8&5f%"%+%G%_!<(B (tetu-s@is.aist-nara.ac.jp)

$BK]Lu$K:]$7!"86:n<T5Z$S(Bv 1.4$B$NK]Lu<T$G$"$k=);3(B@$B%;%$%3!<%(%W%=%sMM!"EDCg(B@$B%;(B
$B%$%3!<%(%W%=%sMM$+$iN;>5$H=u8@$r$$$?$@$-$^$7$?!#$^$?CfLn!w(BNSIS$B$5$s$K$O!"J8(B
$B=q$NBN:[$r@0$($FD:$-$^$7$?!#?<$/46<U$7$^$9!#(B

------------------------------$B$3$3$+$i(B------------------------------ 
$B$3$3$GEj9F$5$l$F$$$k5-;v$O!"(Bcomp.unix.questions $B$H(B comp.unix.shell $B$G$h$/(B
$B8+$+$1$k<ALd$N$$$/$D$+$KEz$($?$b$N$G$9!#$3$3$G2rEz$5$l$F$$$kFbMF$K$D$$$F$O!"(B
$B2?EY$b?R$M$F$7$F$7$^$&$3$H$,$J$$$h$&$K5$$r$D$1$^$7$g$&!#$3$3$K=q$$$F$"$k$N(B
$B$O!"$I$l$b4{$K2?EY$b7+$jJV$5$l$?<ALd$P$+$j$J$N$G$9$+$i!"$b$7$3$N5-;v$r$^$@(B
$BFI$s$G$$$J$$?M$,!"K|0lF1$8$3$H$K$D$$$F<ALd$7$F$7$^$C$F$b!"$H$,$a$?$j$7$J$$(B
$B$G$/$@$5$$!#$G$O!#(B

$B$3$N0lO"$NJ8=q$NCx:n8"$OA4$F!"(BCopyright (c) 1994, Ted Timar $B$H$J$C$F$$$^$9!#(B 
$B$3$l$i$NJ8=q$NG[I[$O!"EE;RE*$K!"L5NA$G!":G?7%P!<%8%g%s$r;H$&$?$a$NBEEv$JEX(B
$BNO$,$J$5$l(B $BA4$F$N%/%l%8%C%H$H$3$NCx:n8"I=5-$r$=$N$^$^4^$s$G$$$k>l9g$K8B$j(B
$B5v2D$7$^$9!#$=$l0J30$NG[I[MW5a$b9MN8$7$^$9!#(B

$B$3$3$K$"$k>pJs$OA4$FA10U$+$i4s$;$i$l$?$b$N$G$9$,!";d<+?H$bEj9F<T$b$=$l$K$D(B
$B$$$F$NJ]>Z$O$G$-$^$;$s!#$3$N>pJs$rMxMQ$9$kJ}$O!"$=$l$K$h$C$F@8$?2?$i$+$N>c(B
$B32$N@UG$$b0z$-$&$1$F2<$5$$!#(B

$B$3$N(B FAQ $B0J30$K$b$?$/$5$s$N(B FAQ $B$,$"$j$^$9$,!"$3$l$i$O$9$Y$F!"(Brtfm.mit.edu 
$B$H$$$&%"!<%+%$%V%5%$%H$N%G%#%l%/%H%j(B pub/usenet/news.answers $B$+$iF~<j$9$k(B
$B$3$H$,=PMh$^$9!#%"!<%+%$%V$,$*$$$F$"$k%G%#%l%/%H%j$NL>A0$O5-;v$N@hF,$N(B 
"Archive-Name:" $B$N9T$G3NG'$G$-$^$9!#$3$N(B FAQ $B$O!"(B"unix-faq/faq/part[1-7]" 
$B$H$$$&L>A0$G%"!<%+%$%V$5$l$F$$$^$9!#(B

$B5-;v$O!"$*$*$h$=!"0J2<$N$h$&$JFbMF$KJ,$1$F$"$j$^$9!#(B

    1.*) $B0lHLE*$J<ALd(B
    2.*) $B$I$A$i$+$H$$$($P4pK\E*$J<ALd!"=i?4<T$,$7$=$&$J<ALd(B
    3.*) $BJ?6QE*$J%l%Y%k$N$N<ALd(B
    4.*) $BFq$7$$<ALd!"$I$s$J<ALd$G$b2sEz$G$-$k$H;W$C$F$$$k$h$&$JJ}$+$i=P$=(B
        $B$&$J<ALd(B
    5.*) $B$$$m$$$m$J(B shell $B$K$D$$$F!"$"$k$$$O$*8_$$$N0c$$$K$D$$$F$N<ALd(B
    6.*) $B$$$m$$$m$J(B UNIX $B$K$D$$$F(B
    7.*) $B%3%s%U%#%0%l!<%7%g%s4IM}%7%9%F%`(B RCS $B$H(B SCCS $B$NHf3S(B

$B$3$N5-;v$O!"<!$N$h$&$J;vJA$K$D$$$F2rEz$7$?$b$N$G$9!#(B

    4.1)  RETURN$B%-!<$rBG$?$:$KC<Kv$+$iJ8;z$rFI$`$K$O$I$&$9$l$P$$$$$s$G$7$g(B
          $B$&$+!#(B
    4.2)  $B<B:]$KJ8;z$rFI$_9~$^$:$KFI$`J8;z$,$"$k$+$I$&$+3N$+$a$k$K$O$I$&$9(B
          $B$l$P$h$$$N$G$7$g$&$+!#(B
    4.3)  $B%*!<%W%s$7$?%U%!%$%k$NL>A0$rD4$Y$k$K$O$I$&$7$?$i$$$$$G$7$g$&$+!#(B
    4.4)  $B<B9TCf$N%W%m%0%i%`$N%Q%9L>$r5a$a$k$K$O$I$&$7$?$i$h$$$G$7$g$&$+!#(B
    4.5)  $B$"$k%W%m%;%9$KBP$7!"F~NO!&=PNO$rF1;~$K%*!<%W%s$9$k$?$a$K(B popen()
          $B$r;H$&$K$O$I$&$9$l$P$$$$$N$G$7$g$&$+!#(B
    4.6)  C $B$N%W%m%0%i%`Cf$G(B1$BIC0J2<$N;~4V(B sleep() $B$9$k$K$O$I$&$9$l$P$$$$$G(B
          $B$7$g$&$+!#(B
    4.7)  setuid $B$5$l$?%7%'%k%9%/%j%W%H$rF0$+$9$K$O$I$&$9$l$P$$$$$G$7$g$&(B
          $B$+!#(B
    4.8)  $B$I$N%f!<%6$^$?$O%W%m%;%9$,!"$"$k%U%!%$%k$r%*!<%W%s$7$F$$$k$+!"FC(B
          $BDj$N%U%!%$%k%7%9%F%`$r;H$C$F$$$k$+$r8+$D$1$k$?$a$K$O$I$&$9$l$P$$(B
          $B$$$N$G$7$g$&$+(B(umount$B$7$?$$$s$@$1$I(B)$B!#(B
    4.9)  $B<+J,$K(B finger $B$+$1$??M$r5-O?$9$k$K$O$I$&$9$l$P$$$$$N$G$7$g$&$+!#(B
    4.10) $B%W%m%;%9$rC<Kv$+$i@Z$jN%$7$?8e!"Nc$($P%W%m%0%i%`$r%P%C%/%0%i%s%I(B
          $B$GF0$+$7$F%m%0%"%&%H$7$?8e$J$I$K$K:F$SC<Kv$K@\B3$9$k$3$H$O2DG=$G(B
          $B$7$g$&$+!#(B
    4.11) $BC<Kv$r(B "spy" $B$9$k$3$H!"$9$J$o$A!"$"$kC<Kv$K=PNO$5$l$?FbMF$rJL$NC<(B
          $BKv$K=PNO$9$k$3$H$O2DG=$G$7$g$&$+!#(B

$BNc$($P!"$b$7(B 1.5) $B$N<ALd$K$@$14X?4$,$"$C$F!"B>$O$$$i$J$$$N$G$7$?$i!"(B"^1.5)"
$B$H$$$&@55,I=8=$G8!:w$r$7$F2<$5$$!#(B

$B$3$3$K=P$F$/$k<ALd$O!"$@$$$?$$!"I8=`E*$J$b$N$P$+$j$G$9!#KhG/OCBj$K$J$k$h$&(B
$B$J4pK\E*$JOC$7$G$9$+$i!"(Bcomp.unix.questions $B$d(B comp.unix.shell $B$K8=$l$k$H!"(B
$B%U%)%m!<$r$?$/$5$s<u$1$k$3$H$K$J$k$G$7$g$&(B ($B$G$b!"$=$l$i$,$9$Y$F$,I,$:$7$b(B
$B@5$7$$$o$1$G$O$"$j$^$;$s(B) $B!#$=$7$F!"F1$8<ALd$,!"$J$<7+$jJV$7$F=P$5$l$k$N$+(B
$B$H!"2??M$b$N$R$H$+$i$*>.8@$rD:BW$7$F$7$^$&$+$b$7$l$^$;$s!#(B
"news.announce.newsusers" $B$$$&%K%e!<%9%0%k!<%W$KKh7nEj9F$5$l$k!V2?EY$b2?EY(B
$B$b<ALd$5$l$kOCBj$KBP$9$k2rEz!W$rFI$s$G$_$l$P!"(B"UNIX" $B$,2?$rI=$9$N$+$b!"M}(B
$B2r$G$-$k$3$H$G$7$g$&!#(B

$B@$3&$K$O!"MM!9$J(B UNIX $B%7%9%F%`$,$"$j$^$9$+$i!"$3$3$G<($7$?2rEz$,;HMQ$5$l$k(B
$B%^%7%s$4$H$K$I$N$h$&$J7k2L$r$b$?$i$9$+$O!"J]>Z$7$-$l$k$b$N$G$O$"$j$^$;$s!#(B
$B$3$3$GDs<($5$l$?$3$H$r3NG'$9$k>l9g$O!"<+J,$G;H$C$F$$$k%^%7%s$N%^%K%e%"%k$r(B
$B;vA0$KFI$s$G2<$5$$!#$=$7$F!"$b$7!"$3$3$K$"$2$?2rEz$N$&$A$N$I$l$+$KBP$7$FDs(B
$B0F$dD{@5$r4uK>$5$l$k>l9g$O!"(Btmatimar@isgtec.com $B$^$G%a!<%k$r2<$5$$!#(B

( $BLu<TCm(B )

$BF|K\8lHG$K4X$9$k$*Ld$$9g$o$;$O!"<!$N08@h$^$G$I$&$>!#(B
asada@icsd6.tj.chiba-u.ac.jp

------------------------------
Subject: How do I read characters ... without requiring the user to hit RETURN?
Date: Thu Mar 18 17:16:55 EST 1993

4.1) RETURN $B%-!<$rBG$?$:$KC<Kv$+$iJ8;z$rFI$`$K$O$I$&$9$l$P$$$$$s$G$7$g$&$+!#(B
    
    $B$^$:!"$*;H$$$N%7%9%F%`$,(B BSD $B$J$i(B cbreak $B%b!<%I$r!"(BSysV $B$J$i$P(B ~ICANON
    $B%b!<%I$r;n$7$F$_$F2<$5$$!#(B
    
    $BC<Kv%Q%i%a!<%?$r8f<+J,$G4hD%$C$F@_Dj$9$k$N$,LLE]$G7y$K$J$C$?J}!"(Bstty 
    $B%W%m%0%i%`$r;H$($P4JC1$K$G$-$^$9(B ($BC<Kv%Q%i%a!<%?$N@_Dj$K$O(B "ioctl(2)" 
    $B%7%9%F%`%3!<%k$r;H$$$^$9(B)$B!#0J2<$KNc$r<($7$^$9!#$7$+$7$J$,$i!"$3$NNc$N(B
    $B$h$&$JJ}K!$G$O<B9TB.EY$,CY$/!"8zN(E*$G$"$j$^$;$s!#@^$r8+$F%3!<%I$r$A$c(B
    $B$s$H(B (ioctl$B$r;H$C$F(B) $B=q$-D>$7$?J}$,$$$$$G$7$g$&!#(B
    
        #include <stdio.h>
        main()
        {
            int c;
        
            printf("Hit any character to continue\n");
            /*
             * $B$3$3$O(B ioctl() $B$NJ}$,$$$$!#LLE]=-$,$j$J(B
             * $B%W%m%0%i%^$O$3$&$9$k$G$7$g$&$1$I!#(B
             */
            system("/bin/stty cbreak");       /* $B$^$?$O(B "stty raw" */
            c = getchar();
            system("/bin/stty -cbreak");
            printf("Thank you for typing %c.\n", c);
        
            exit(0);
        }
    
    $B2??M$+$NJ}!9$,!"$3$NLdBj$N$h$j@53N$J2rEz$r;d$KAw$C$F$/$l$^$7$?!#:Q$_$^(B
    $B$;$s$,!"$=$l$i$O$3$N%j%9%H$N<iHwHO0O$r1[$($F$$$^$9$N$G!"$3$3$K$O7G:\$7(B
    $B$^$;$s!#(B
    
    $BJXMx$J2hLL@)8f$N%i%$%V%i%j$G$"$k(B "curses" $B$N%I%-%e%a%s%H$rD4$Y$F$_$k$N(B
    $B$b$$$$$+$bCN$l$^$;$s!#$3$NNc$N$h$&$JC10lJ8;z$NF~=PNO$r$h$/;H$&$H$$$&$3(B
    $B$H$O!"2hLLI=<($N@)8f$r$7$?$j$9$k$3$H$bB?$$$N$G$O$J$$$G$7$g$&$+!#(B
    "curses" $B%i%$%V%i%j$K$OJ8;zF~NO!"2hLL@)8f$NN>J}$K4X$9$k$$$m$$$mJXMx$J4X(B
    $B?t72$,4^$^$l$F$$$^$9!#(B
    
------------------------------
Subject: How do I check to see if there are characters to be read ... ?
Date: Thu Mar 18 17:16:55 EST 1993

4.2) $B<B:]$KJ8;z$rFI$_9~$^$:$KFI$`J8;z$,$"$k$+$I$&$+3N$+$a$k$K$O$I$&$9$l$P(B
  $B$h$$$N$G$7$g$&$+!#(B
    
    $B$"$k%P!<%8%g%s$N(B UNIX $B$K$O!"FCDj$N;~E@$G%U%!%$%k%G%#%9%/%j%W%?$KFI$_9~(B
    $B$`J8;z$,$"$k$+$I$&$+$r%A%'%C%/$9$kJ}K!$,$"$j$^$9!#(BBSD $B$G$O(Bselect(2) $B$,(B
    $B$3$NL\E*$K;H$($^$9!#$^$?!"(B FIONREAD ioctl $B$r;H$&$3$H$b=PMh$^$9(B (tty(4) 
    $B$r;2>H$7$F2<$5$$(B)$B!#(BFIONREAD ioctl $B$OFI$a$kJ8;z?t$rJV$7$^$9$,!"C<Kv!"%Q(B
    $B%$%W!"%=%1%C%H$K$7$+;H$($^$;$s!#(BSystem V Release 3 $B$G$O!"(Bpoll(2)$B$,;H$((B
    $B$^$9$,!"(Bpoll $B$O%9%H%j!<%`$K$7$+;H$&$3$H$,=PMh$^$;$s!#(BXenix ($B$H(B UNIX
    SysV r3.2 $B$H$=$l0J9_(B) $B$G$O!"(Brdchk() $B%7%9%F%`%3!<%k$r;H$&$3$H$K$h$j;XDj(B
    $B$7$?%U%!%$%k%G%#%9%/%j%W%?$X$N(B read() $B8F$S=P$7$,F~NOBT$A$G%V%m%C%/$9$k(B
    $B$+$I$&$+$rCN$k$3$H$,=PMh$^$9!#(B
    
    FILE $B%]%$%s%?$r;H$C$F$$$k>l9g!"FI$_9~$`J8;z$r$,$"$k$+$I$&$+$r%A%'%C%/(B
    $B$9$kJ}K!$O$"$j$^$;$s(B ($BF~NO%P%C%U%!$,6u$G$J$$$3$H$rD4$Y$k$?$a$KI8=`F~=P(B
    $BNO%G!<%?9=B$BN$NCf?H$rA':w$9$k$3$H$O=PMh$^$9!#$7$+$7$J$,$i!"F~NO%P%C%U%!(B
    $B$,6u$@$C$?>l9g!"%P%C%U%!$rKd$a$h$&$H$7$?;~$K2?$,5/$3$k$+$rCN$k<jCJ$,$J(B
    $B$$$?$a!"$&$^$/$$$+$J$$$G$7$g$&(B)$B!#(B
    
    nonblocking read ($B%V%m%C%/$7$J$$FI$_9~$_(B) $B$r9T$J$$$?$$>l9g$K<!$N$h$&$J(B
    $B%3!<%G%#%s%0$r$7$h$&$H9M$(!"$3$N<ALd$r$9$kJ}$,$?$^$K$$$i$C$7$c$$$^$9!#(B
    
        if (fd $B$+$iJ8;z$,FI$a$k$J$i$P(B)
        read(fd, buf, sizeof buf);
    
    $B$3$l$O(B nonblocking read $B$r$9$k;~$K$O:GNI$NJ}K!$G$O$"$j$^$;$s!#$=$NM}M3(B
    $B$O!"%F%9%H$7$?=V4V$K$OJ8;z$rFI$_9~$_2DG=$@$C$?$H$7$F$b!"(Bread $B$r8F$S=P(B
    $B$7$?;~$K$OFI$_9~$_$,=PMh$J$/$J$C$F$$$k$3$H$,$"$jF@$k$+$i$G$9!#(B
    nonblocking read $B$r$&$^$/9T$J$&$K$O!"(Bfcntl(2) $B$G(B F_SETFL $B$r;H$C$F!"(B
    O_NDELAY $B%U%i%0(B (BSD $B$G$O(B FNDELAY $B$H$b8F$P$l$F$$$^$9(B) $B$r@_Dj$9$k$H$h$$(B
    $B$G$7$g$&!#8E$$%7%9%F%`(B(Version 7$B$d(B 4.1BSD$B$J$I(B)$B$K$O(B O_NDELAY $B$r;}$?$J$$(B
    $B$b$N$b$"$j$^$9!#$3$N$h$&$J%7%9%F%`$G(B nonblocking read $B$K$b$C$H$b6a$$F0(B
    $B:n$r$5$;$k$K$O!"(Balarm(2) $B$r;H$$!"FI$_9~$_F0:n$K%?%$%`%"%&%H$r@_Dj$9$k(B
    $B$N$,NI$$$G$7$g$&!#(B
    
------------------------------
Subject: How do I find the name of an open file?
Date: Thu Mar 18 17:16:55 EST 1993

4.3) $B%*!<%W%s$7$?%U%!%$%k$NL>A0$rD4$Y$k$K$O$I$&$7$?$i$$$$$G$7$g$&$+!#(B
    
    $B0lHLE*$K$O!"$3$l$OHs>o$KFq$7$$LdBj$G$9!#%U%!%$%k%G%#%9%/%j%W%?$O!"%Q%$(B
    $B%W$d5?;wC<Kv(B(pty)$B$K7Q$C$F$$$k>l9g$b$"$j!"$3$l$i$N>l9g$K$OL>A0$r;}$A$^(B
    $B$;$s!#4{$K>C$5$l$?%U%!%$%k$K7Q$C$F$$$k>l9g$b$"$j$^$9!#%O!<%I%j%s%/$d!"(B
    $B%7%s%\%j%C%/%j%s%/$GJ#?t$N%U%!%$%kL>$r;}$C$F$$$k$3$H$b$"$k$G$7$g$&!#(B
    
    $B$I$&$7$F$b%U%!%$%kL>$rCN$j$?$/$F!"$3$NLdBj$K$D$$$FD9$$4V!"0l=j7|L?9M$((B
    $BH4$-!"$I$&$7$F$b%U%!%$%kL>$rCN$k0J30$KJ}K!$,$J$$!"$H$$$&$3$H$K$J$C$?$N(B
    $B$G$7$?$i0J2<$N$h$&$K$9$k$N$,$h$m$7$$$G$7$g$&!#(B
    
        a) find(1) $B$r(B -inum $B$H2DG=$J$i$P(B -xdev $B%*%W%7%g%s$D$-$G;H$&!#(B
        b) ncheck(8) $B$rMQ$$$k!#(B
        c) $B>e=R$N%3%^%s%I$N5!G=$r%W%m%0%i%`Cf$G<B8=$9$k!#(B
    
    600MB$B$N%U%!%$%k%7%9%F%`$NCf$+$i!"B8:_$9$k$+$7$J$$$+$5$(3N<B$G$J$$0l$D$N(B
    $B%U%!%$%k$rC5$9$N$K$O!"$A$g$C$H;~4V$,$+$+$k$N$O3P8g$7$F2<$5$$$M!#(B
    
------------------------------
Subject: How can an executing program determine its own pathname?
Date: Thu Mar 18 17:16:55 EST 1993

4.4) $B<B9TCf$N%W%m%0%i%`$N%Q%9L>$r5a$a$k$K$O$I$&$7$?$i$h$$$G$7$g$&$+!#(B
    
    argv[0] $B$r8+$F$=$l$,(B "/" $B$G;O$^$C$F$$$k$N$G$7$?$i!"B?J,$=$l$,<B9TCf$N(B
    $B%W%m%0%i%`$N@dBP%Q%9L>$G$9!#(B"/"$B$G;O$^$C$F$$$J$$>l9g$K$O!"%W%m%0%i%`Cf(B
    $B$G4D6-JQ?t(B PATH $B$K@_Dj$5$l$?%G%#%l%/%H%j$rA4It8!:w$7!":G=i$K8+$D$+$C$?(B
    $B<B9T2DG=%U%!%$%k$G!"(Bargv[0] ($B<B9T$7$F$$$k%U%!%$%k$NL>A0$,3JG<$5$l$F$$(B
    $B$k$3$H$K$J$C$F$$$^$9(B)$B$HF1$8L>A0$r;}$D$b$N$,<B9TCf$N%W%m%0%i%`$G$7$g$&!#(B
    $B8+$D$1$?%G%#%l%/%H%jL>$H(B argv[0]$B$NCM$H$r$D$J$.9g$o$;$?$b$N$,$*$=$i$/@5(B
    $B$7$$@dBP%Q%9L>$G$7$g$&!#(B
    
    $B$7$+$7$J$,$iK\Ev$K@5$7$$L>A0$+$I$&$+$r3N$+$a$k$3$H$O=PMh$^$;$s!#2?8N$J(B
    $B$i!"$"$k%W%m%0%i%`$,(B argv[0] $B$K9%$-$JCM$rF~$l$FJL$N%W%m%0%i%`$r(B exec()
    $B$9$k$3$H$,6X;_$5$l$F$$$k$o$1$G$O$J$$$+$i$G$9!#(Bargv[0] $B$K%W%m%0%i%`$N<B(B
    $B9T2DG=%U%!%$%kL>$r@_Dj$7$F$+$i?7$7$$%W%m%0%i%`$r(B exec $B$9$k$N$OC1$K47Nc(B
    $B$K2a$.$^$;$s!#(B
    
    $B>e5-$N$3$H$r<($9$?$a$@$1$NNc$r5s$2$^$9(B:
    
        #include <stdio.h>
        main()
        {
            execl("/usr/games/rogue", "vi Thesis", (char *)NULL);
        }
    
    $B<B9T$7$?%W%m%0%i%`$O<+J,$NL>A0(B ($B%W%m%0%i%`$N(B argv[0] $B$NCM(B) $B$r(B "vi
    Thesis" $B$@$H;W$$9~$_$^$9(B ($BB>$N%W%m%0%i%`$b8=:_<B9TCf$N%W%m%0%i%`$NL>A0(B
    $B$,(B "vi Thesis" $B$G$"$k$H?.$89~$_$^$9!#$G$b!"$3$l$O2>$NNc$@$+$i;n$5$J$$(B
    $B$G2<$5$$$M(B:-))$B!#(B
    
------------------------------
Subject: How do I use popen() to open a process for reading AND writing?
Date: Thu Mar 18 17:16:55 EST 1993

4.5) $B$"$k%W%m%;%9$KBP$7!"F~NO!&=PNO$rF1;~$K%*!<%W%s$9$k$?$a$K(B popen() $B$r;H(B
  $B$&$K$O$I$&$9$l$P$$$$$N$G$7$g$&$+!#(B
    
    $BG$0U$N%9%l!<%V%W%m%;%9$KBP$7$F%Q%$%W$rF~NO!&=PNON>J}$K;HMQ$9$k:]$KLdBj(B
    $B$K$J$k$N$O!"%G%C%I%m%C%/$,5/$3$jF@$k!"$H$$$&$3$H$G$9!#N>J}$N%W%m%;%9$,(B
    $BF1;~$KAj<j$,$^$@@8@.$7$F$$$J$$%G!<%?$KBP$7$FF~NO$rBT$C$F$$$k!"$H$$$&>u(B
    $BBV$K$J$C$?>l9g$K%G%C%I%m%C%/$K$J$j$^$9!#%G%C%I%m%C%/$O!"N>J}$N%W%m%;%9(B
    $B$,(B "$B40A4$K%G%C%I%m%C%/$7$J$$%W%m%H%3%k(B (strict deadlock-free protocol)" 
    $B$K=>$&$3$H$K$h$C$F$N$_Hr$1$k$3$H$,=PMh$^$9!#$7$+$7!"$=$l$K$O%W%m%;%9$I(B
    $B$&$7$,6(NO$79g$&I,MW$,$"$j!"(Bpopen() $B$N$h$&$J%i%$%V%i%j4X?t$K$O$U$5$o$7(B
    $B$/$"$j$^$;$s!#(B
    
    'expect' distribution $B$K(B C $B%W%m%0%i%^$,D>@\8F$S=P$;$k%i%$%V%i%j4X?t$,$"(B
    $B$j$^$9!#$=$N$&$A$N0l$D$K(B popen $B$rF~NO!&=PNON>J}$K;H$C$?$N$HEy2A$J$b$N$,(B
    $B$"$j$^$9!#$=$N4X?t$O%Q%$%W$G$J$/5?;wC<Kv$r;H$C$F$*$j!"%G%C%I%m%C%/$NLd(B
    $BBj$,5/$3$j$^$;$s!#$3$N4X?t$O(B BSD$B!"(BSysV $B$NN>J}$G;HMQ$G$-$^$9!#(B'expect' 
    $B$K4X$9$k>\:Y$O<!$N2sEz$r;2>H$7$F2<$5$$!#(B
    
------------------------------
Subject: How do I sleep() in a C program for less than one second?
Date: Thu Mar 18 17:16:55 EST 1993

4.6) C $B$N%W%m%0%i%`Cf$G(B1$BIC0J2<$N;~4V(B sleep() $B$9$k$K$O$I$&$9$l$P$$$$$G$7$g$&$+!#(B
    
    $B$^$:!";XDj$G$-$kIC?t$H$$$&$N$O(B "$B:G>.(B" $B$N(B sleep $B;~4V$G$"$k$K2a$.$J$$!"(B
    $B$H$$$&$3$H$KCm0U$7$F2<$5$$!#<B:]$N(B sleep $B;~4V$O!"%7%9%F%`$N%m!<%I$J$I%9(B
    $B%1%8%e!<%j%s%0$N7k2L$K0MB8$7$^$9$N$G!"1?$,0-$1$l$P$$$/$i$G$bD9$/$J$jF@(B
    $B$^$9!#(B
    
    $B$"$i$f$k4D6-$G;H$($k(B "$B$&$?$?$M(B(napping)" ($BC;$$;~4VL2$k$3$H$r$3$&$$$$$^(B
    $B$9(B) $B$9$k$?$a$NI8=`E*$J%i%$%V%i%j4X?t$OB8:_$7$^$;$s!#(B"usleep(n)" $B$H$$$&(B
    n $B%^%$%/%mIC4V<B9T$rDd;_$9$k4X?t$rDs6!$7$F$$$k4D6-$b$$$/$D$+$"$j$^$9!#(B
    $B$b$7!"(Busleep() $B$r;H$($J$$4D6-$K$$$i$C$7$c$k$N$G$7$?$i!"0J2<$K(B BSD $BHG$H(B 
    System V$BHG$N(B2$B$D$N<BAu$r:\$;$F$*$-$^$9$N$G!"$*;H$$2<$5$$$^$;!#(B
    
    $B0J2<$K5s$2$k%3!<%I$O(B Doug Gwyn $B$N(B 4BSD$B$N$?$a$N(B $B$N(B System V $B%(%_%e%l!<(B
    $B%7%g%s%5%]!<%H$+$iH4$-=P$7$F$-$?$b$N$G$9!#(B $B86K\$G$O(B Doug $B$O$3$N4X?t$r(B
    'nap()' $B$H8F$s$G$$$^$9!#$3$N4X?t$r(B "usleep()"$B$H8F$V$H$h$m$7$$$N$G$O$J$$(B
    $B$G$7$g$&$+!#(B
    
    /*
        usleep -- 4.2 BSD $B$N$?$a$N%7%9%F%`%3!<%k%(%_%e%l!<%7%g%s(B
          $B%5%]!<%H%k!<%A%s(B
        last edit:29-Oct-1984D A Gwyn
    */
    
    extern intselect();
    
    int
    usleep( usec )/* returns 0 if ok, else -1 */
        longusec;/* delay in microseconds */
        {
        static struct/* 'timeval' */
        {
        longtv_sec;/* seconds */
        longtv_usec;/* microsecs */
        }delay;/* _select() timeout */
    
        delay.tv_sec = usec / 1000000L;
        delay.tv_usec = usec % 1000000L;
    
        return select( 0, (long *)0, (long *)0, (long *)0, &delay );
        }
    
    System V $B>e$G$NNc$r0J2<$K5s$2$^$9(B:
    
    /*
    System V($B$^$?$O(B poll()$B$r;}$C$F$$$k%7%9%F%`(B) $B$N$?$a$N(B1$BIC0J2<$N(B sleep
    Don Libes, 4/1/1991
    
    $B$3$N4X?t$N(B BSD $BHG$O%^%$%/%mICC10L$GDj5A$5$l$F$$$^$9$,!"0lJ}(B poll() $B$O(B
    $B%_%jICC10L$GDj5A$5$l$F$$$^$9!#8_49@-$N$?$a!"$3$N4X?t$O<B:]$KMW5a$5$l$?(B
    $BCM$r%_%jIC$K4]$a$F$$$^$9!#$^$?!"J#?t2s$N4X?t8F$S=P$7$K$o$?$C$F%^%$%/%m(B
    $BIC$r@Q;;$7$F(B "$BD9$$;~4V$KEO$k(B" $B@53N@-$rDs6!$7$^$9!#$=$N$?$a!"$3$N4X?t$O(B 
    tight loop $BFb$G8F$S=P$5$l$k$G$7$g$&$7!"D9$$;~4V$KEO$C$F$$$k$N$G%(%i!<(B
    $B$,J?6Q2=$9$k$@$m$&!"$H$$$&9M$($K4p$E$-$^$9!#(B
    
    $B$b$7$3$N4X?t$r(B tight loop $BFb$+$i8F$s$G$$$k$N$G$J$1$l$P!"%^%$%/%mIC$NJ,(B
    $B2rG=$O$^$:I,MW$J$$$G$7$g$&$+$i!"$$$:$l$K$;$h%^%$%/%mIC$K$D$$$F$O5$$K$7(B
    $B$^$;$s!#$b$7$=$N$h$&$J$3$H$r$7$F$k$N$J$i!"$=$l$O$"$^$j(B UNIX $B$r3hMQ$7$F(B
    $B$$$J$$$H$$$($^$9!#$H$$$&$N$O!"%i%s%@%`$J%7%9%F%`$N>C2=ITNI(B ($B%9%1%8%e!<(B
    $B%j%s%0$N$h$&$J(B) $B$O%?%$%_%s%0$K0MB8$7$?%3!<%I$r$a$A$c$/$A$c$K$7$F$7$^$&(B
    $B$+$i$G$9!#(B
    
    $B%?%$%`%"%&%H$K@.8y$7$?$i!"(B0 $B$,!"<:GT$N>l9g$K$O(B -1 $B$,JV$j$^$9!#(B
    */
    
    #include <poll.h>
    
    int
    usleep(usec)
    unsigned int usec;/* microseconds */
    {
        static subtotal = 0;/* microseconds */
        int msec;/* milliseconds */
    
        /* 'foo' is only here because some versions of 5.3 have
         * a bug where the first argument to poll() is checked
         * for a valid memory address even if the second argument is 0.
         */
        struct pollfd foo;
    
        subtotal += usec;
        /* if less then 1 msec request, do nothing but remember it */
        if (subtotal < 1000) return(0);
        msec = subtotal/1000;
        subtotal = subtotal%1000;
        return poll(&foo,(unsigned long)0,msec);
    }
    
    $BB>$K!"(BSystem V $B$dB>$N(B BSD $B$G$J$$(B UNIX $B4D6-(B (non-BSD Unices:-)) $B$G!"$3$N(B
    $B$h$&$J(B "$B$&$?$?$M(B" $B$r$9$k$?$a$K;H$($=$&$J$b$N$O!"(Bcomp.sources.misc $B$N(B
    volume 4 $B$KEj9F$5$l$?(B Jon Zeeff $B$N(B s5nap $B%Q%C%1!<%8$G$7$g$&!#$3$l$O%G%P(B
    $B%$%9%I%i%$%P$N%$%s%9%H!<%k$rI,MW$H$7$^$9$,!"0lEY%$%s%9%H!<%k$7$F$7$^$((B
    $B$P40`z$KF0:n$7$^$9(B($B$3$N%Q%C%1!<%8$O%+!<%M%k$N(B delay() $B%k!<%A%s$r;HMQ$7(B
    $B$F$$$k$?$a!"(Bsleep $BJ,2rG=$O%+!<%M%k$N(B HZ $BCM$K@)8B$5$l$^$9(B)$B!#(B
    
------------------------------
Subject: How can I get setuid shell scripts to work?
Date: Thu Mar 18 17:16:55 EST 1993

4.7) setuid $B$5$l$?%7%'%k%9%/%j%W%H$rF0$+$9$K$O$I$&$9$l$P$$$$$G$7$g$&$+!#(B
    
    [$B$3$N<ALd$KBP$9$k2sEz$O$+$J$jD9$/$J$j$^$9!#$7$+$7$J$,$i$3$N<ALd$OJ#;((B
    $B$G!"$H$F$b$h$/$"$k$b$N$G$9!#$3$N<ALd$K2sEz$7!"0J2<$K7G:\$9$k(B "indir" 
    $B%W%m%0%i%`$r:n$C$F$/$l$?(B Maarten Litmaath $B$K46<U$7$^$9!#(B]
    
    $B$^$:!"FI<T$,$$$o$f$k!V<B9T2DG=%7%'%k%9%/%j%W%H!W$rG'<1$9$k(BUNIX$B<o(B ($BNc$((B
    $B$P!"(B4.3BSD$B$H$+(BSunOS) $B$r;H$C$F$$$k$H2>Dj$7$^$9!#$=$N$h$&$J%9%/%j%W%H$O(B
    $B<!$N$h$&$J9T$G;O$^$C$F$$$k$G$7$g$&!#(B
    
        #!/bin/sh
    
    $B$3$N$h$&$J%9%/%j%W%H$O!"K\J*$N(B ($B%P%$%J%j(B) $B<B9T7A<0$HF1$8$h$&$K!"<B9T7A(B
    $B<0$N<oN`$r<($9$$$o$f$k!V%^%8%C%/%J%s%P!W$G;O$^$C$F$$$k$?$a!V<B9T7A<0!W(B
    $B$H8F$P$l$^$9!#$3$N>l9g!"%^%8%C%/%J%s%P$O(B '#!' $B$G!"(BOS $B$O:G=i$N9T$N(B '#!' 
    $B0J9_$r%9%/%j%W%H$N%$%s%?%W%j%?(B ($B0J2<$N$h$&$K#18D$@$1=i4|2=%*%W%7%g%s$r(B
    $BB3$1$k$3$H$,$G$-$^$9(B) $B$G$"$k$H2r<a$7$^$9!#(B
    
        #!/bin/sed -f
    
    $B$3$NNc$G5s$2$?>e5-$N9T$G;O$^$k%9%/%j%W%H$r(B 'foo' $B$H8F$V$3$H$K$7$^$7$g$&!#(B
    $B$3$N%9%/%j%W%H$O(B /bin $B$K$"$k$H$7$^$9!#$3$3$G!"<!$N$h$&$KF~NO$7$?>l9g$K(B
    $B$D$$$F9M$($^$9!#(B
    
        foo arg1 arg2 arg3
    
    OS $B$O$3$NF~NO$r!"0J2<$N$h$&$JF~NO$,$"$C$?!"$H$$$&$h$&$K:FG[Ns$7$^$9!#(B
    
        /bin/sed -f /bin/foo arg1 arg2 arg3
    
    $B$7$+$7$J$,$i!"0l$D0c$$$,$"$j$^$9!#(B'foo' $B$N(B setuid $B5v2D%S%C%H$,@_Dj$5$l(B
    $B$F$$$k>l9g!"$9$J$o$ABh0lHVL\$NNc$G$O!"%3%^%s%I(B(foo)$B$N5v2D%S%C%H$K=>$&$3(B
    $B$H$K$J$j$^$9!#$b$7!"(B2$BHVL\$N$h$&$K<B:]$KF~NO$7$?$H$-$K$O!"(BOS$B$O(B /bin/sed
    $B$N5v2D%S%C%H$K=>$$$^$9!#EvA3$J$,$i!"(B/bin/sed $B$O(B setuid $B$5$l$F$$$^$;$s!#(B
    
    ----------
    $B$5$F<!$K!"$b$7%7%'%k%9%/%j%W%H$,(B '#!' $B9T$G;O$^$C$F$$$J$$>l9g!"$b$7$/$O(B 
    OS $B$,(B '#!' $B$rG'<1$7$F$$$J$$>l9g$O$I$&$J$k$G$7$g$&!#(B
    
    $B$3$N>l9g$K$O!"%U%!%$%k$,@5Ev$J%^%8%C%/%J%s%P!<$G;O$^$C$F$$$J$$$J$$$?$a!"(B
    $B%7%'%k(B($B$+B>$N%W%m%0%i%`(B)$B$,%9%/%j%W%H$r<B9T$7$h$&$H$7$?;~(BOS$B$,%(%i!<$rJV(B
    $B$7$^$9!#%7%'%k$O$3$N%(%i!<$r<u$1<h$k$H!"Ev3:%U%!%$%k$,%7%'%k%9%/%j%W%H(B
    $B$G$"$k$H!V2>Dj!W$7$^$7$F!"0J2<$N$h$&$J<B9T$r$7$F$_$^$9(B:
    
        /bin/sh shell_script arguments
    
    $B$7$+$7$J$,$i!">e=R$N$h$&$K$3$N>l9g$K$O(B 'shell_script' $B$KBP$9$k(B setuid
    $B%S%C%H$O8zNO$rH/4x$7$^$;$s!#(B
    
    ----------
    $B$5$F!"<!$K(B setuid $B%7%'%k%9%/%j%W%H$,%;%-%e%j%F%#>e!"4m$J$$E@$K$D$$$F=R(B
    $B$Y$^$7$g$&!#(B
    
    '/etc/setuid_script' $B$H$$$&%9%/%j%W%H$,0J2<$N$h$&$K;O$^$C$F$$$k$H$7$^$9!#(B
    
        #!/bin/sh
    
    $B$3$3$G!"<!$N$h$&$J=g=x$G%3%^%s%I$r<B9T$7$?$i2?$,5/$3$k$G$7$g$&$+!#(B
    
        $ cd /tmp
        $ ln /etc/setuid_script -i
        $ PATH=.
        $ -i
    
    $B:G8e$N%3%^%s%I$,0J2<$N$h$&$K$J$k$N$O>e=R$NDL$j$G$9!#(B
    
        /bin/sh -i
    
    $B$3$N%3%^%s%I$O%9%/%j%W%H$N;}$A<g$K(B setuid $B$5$l$?!"%$%s%?%i%/%F%#%V$J(B
    $B%7%'%k$r5/F0$9$k$3$H$K$J$j$^$9!*$^$"!"$3$N%;%-%e%j%F%#%[!<%k$OBh0l9T$r(B
    $B<!$N$h$&$K$9$k$3$H$G4JC1$K:I$0$3$H$,=PMh$^$9!#(B
    
        #!/bin/sh -
    
    '-' $B$O%*%W%7%g%sNs$N=*$j$r<($7$^$9!#<!$N0z?t$N(B '-i' $B$OK\Mh$=$&$"$k$Y$-(B
    $B$G$"$k$h$&$K!"%3%^%s%I72$rFI$_9~$`$Y$-%U%!%$%kL>$H$7$F2r<a$5$l$^$9!#(B
    
    ---------
    $B$7$+$7$J$,$i$b$C$H=EBg$J%;%-%e%j%F%#$K4X$9$kLdBj$,$"$j$^$9!#(B
    
        $ cd /tmp
        $ ln /etc/setuid_script temp
        $ nice -20 temp &
        $ mv my_script temp
    
    3$BHVL\$N%3%^%s%I$O<!$N$h$&$K2r<a$5$l$^$9!#(B
    
        nice -20 /bin/sh - temp
    
    nice $B$r$+$1$k$3$H$G!"%3%^%s%I$N<B9T$r$:$C$HCY$/$G$-$k$N$G!"(B'temp' $B$r(B
    $B%7%'%k$,FI$_9~$`!VA0!W$K#4HVL\$N%3%^%s%I$K$h$j$b$H$b$H$N(B 'temp' $B$r(B 
    'my_script' $B$KCV$-49$($k$3$H$,2DG=$G$9!#$3$N%;%-%e%j%F%#%[!<%k$r:I$0(B
    $B$K$O0J2<$N(B4$B$D$NJ}K!$,$"$j$^$9!#(B
    
    1) OS $B$,(B setuid $B%9%/%j%W%H$rJL$N0BA4$JJ}K!$G<B9T$9$k$h$&$K$9$k!#(B
       System V R4 $B$H(B 4.4BSD $B$G$O%9%/%j%W%H$N%U%!%$%k%G%#%9%/%j%W%?$r%$%s%?(B
       $B%W%j%?$KEO$9;~$K(B /dev/fd $B%I%i%$%P$r;H$C$F$$$^$9!#(B
    
    2) $B%9%/%j%W%H$,4V@\E*$K<B9T$5$l$k$h$&$K$9$k!#<B:]$N%$%s%?%W%j%?$,%9%/%j(B
       $B%W%H$N<B9T$r3+;O$9$kA0$K!"$9$Y$F$N4D6-$,@5Ev$+$I$&$+$r%A%'%C%/$9$k%U(B
       $B%m%s%H%(%s%I$rDL$9!#$b$7!"(Bcomp.sources.unix $B$KN.$l$?(B 'indir' $B%W%m%0(B
       $B%i%`$r;H$&$N$G$7$?$i!"(Bsetuid $B%9%/%j%W%H$O<!$N$h$&$K$J$j$^$9!#(B
    
         #!/bin/indir -u
         #?/bin/sh /etc/setuid_script
    
    3) 'binary wrapper'($B%P%$%J%j$K$h$k%+%P!<(B)$B$r:n$k!#(Bsetuid $B$7$?K\Ev$N<B9T(B
       $B7A<0(B($B%P%$%J%j(B)$B$r:n$j$^$9!#$=$N<B9T7A<0$O%9%/%j%W%H$NL>A0$r0z?t$H$7$F(B
       $B<u$1<h$j!"%$%s%?%W%j%?$r<B9T$9$k$3$H$@$1$r9T$J$$$^$9!#(B
    
    4) $BHFMQ$N(B 'setuid $B%9%/%j%W%H%5!<%P(B' $B$r:n$k!#$3$N%5!<%P$OMW5a$N$"$C$?(B
       '$B%5!<%S%9(B' $B$r%G!<%?%Y!<%9Cf$N@5Ev$J%9%/%j%W%H72$+$iC5$7!"8+$D$+$C$?(B
       $B$i@5Ev$J0z?t$r;H$C$F@5$7$$%$%s%?%W%j%?$r5/F0$9$k!"$H$$$&$b$N$G$9!#(B
    
    ---------
    $B@5Ev$J%U%!%$%k$,2r<a<B9T$5$l$k!"$H$$$&$H$3$m$^$G$&$^$/$$$C$?$H$7$^$7$g(B
    $B$&!#B>$K4m81$O$J$$$G$7$g$&$+!#(B
    
    $B$=$&$G$9!*%7%'%k%9%/%j%W%HCf$G!"(BPATH $BJQ?t$K0BA4$J%Q%9$rL@3N$K;XDj$9$k$3(B
    $B$H$rK:$l$F$O$$$1$^$;$s!#2?8N$@$+$o$+$j$^$9$+!#$3$l$H$OJL$KE,@Z$K@_Dj$5(B
    $B$l$F$$$J$$$HLLE]$r0z$-5/$3$7F@$k(B IFS $B$H$$$&JQ?t$b$"$j$^$9!#B>$K$b!"F1MM(B
    $B$K%;%-%e%j%F%#$NDc2<$K1F6A$9$k4D6-JQ?t$,$$$/$D$+$"$j$^$9!#Nc$($P!"(BSHELL
    $BEy$G$9!#99$K!"%9%/%j%W%HCf$N%3%^%s%I72$,BPOC%7%'%k%(%9%1!<%W$r5v$7$F$$(B
    $B$J$$$3$H$r3NG'$7$J$1$l$P$J$j$^$;$s!*$=$7$F!"JQ$K@_Dj$5$l$F$$$k$+$bCN$l(B
    $B$J$$(B umask $B$H$$$&CM$,$"$j$^$9(B...
    
    $B$=$NB>=t!9!#$G!"(Bsetuid $B%9%/%j%W%H$O%9%/%j%W%HCf$G8F$S=P$9$9$Y$F$N%3%^%s(B
    $B%I$N%P%0$H%;%-%e%j%F%#$K4X$9$k4m81$r!V<u$17Q$0!W$H$$$&$3$H$r4N$KL?$8$F(B
    $B$*$$$F2<$5$$!*(B
    
    $B35$7$F!"(Bsetuid $B%7%'%k%9%/%j%W%H$OHs>o$K4m81$J$b$N$G$"$k$H$$$&$3$H$,$*$o(B
    $B$+$jD:$1$?$H;W$$$^$9!#$+$o$j$K(B C $B$N%W%m%0%i%`$r=q$/J}$,$h$jNI$$2r7h$K$J(B
    $B$k$G$7$g$&!#(B
    
------------------------------
Subject: How can I find out which user or process has a file open ... ?
Date: Thu Mar 18 17:16:55 EST 1993

4.8) $B$I$N%f!<%6$^$?$O%W%m%;%9$,!"$"$k%U%!%$%k$r%*!<%W%s$7$F$$$k$+!"FCDj$N(B
  $B%U%!%$%k%7%9%F%`$r;H$C$F$$$k$+$r8+$D$1$k$?$a$K$O$I$&$9$l$P$$$$$N$G$7$g(B
  $B$&$+(B (umount$B$7$?$$$s$@$1$I(B)$B!#(B
    
    fuser(system V), fstat(BSD), ofiles($B%Q%V%j%/%I%a%$%s(B), pff($B%Q%V%j%/%I%a(B
    $B%$%s(B) $B$r;H$&$H$$$$$G$7$g$&!#$3$l$i$N%W%m%0%i%`$K$h$jFCDj$N%U%!%$%k$r;H(B
    $B$C$F$$$k%W%m%;%9$K$D$$$F$$$m$$$m$J>pJs$rF@$k$3$H$,=PMh$^$9!#(B
    
    4.3BSD $B$N(B fstat $B$r(B Dynix, SunOS, Ultrix $B$K0\?"$7$?$b$N$,(B
    comp.sources.unix $B$N(B volume 18 $B$K$"$j$^$9!#(B
    
    pff $B$O(B kstuff $B%Q%C%1!<%8$N0lIt$G!"$+$J$j$?$/$5$s$N%7%9%F%`>e$GF0:n$7$^(B
    $B$9!#(Bkstff $B%Q%C%1!<%8$r<j$KF~$l$kJ}K!$K$D$$$F$O!"Ld(B 3.10 $B$N2sEz$r;2>H$7(B
    $B$F2<$5$$!#(B
    
------------------------------
Subject: How do I keep track of people who are fingering me?
>From: jik@rtfm.MIT.EDU (Jonathan I. Kamens)
>From: malenovi@plains.NoDak.edu (Nikola Malenovic)
Date: Mon, 23 Nov 1992 16:01:45 -0600

4.9) $B<+J,$K(B finger $B$+$1$??M$r5-O?$9$k$K$O$I$&$9$l$P$$$$$N$G$7$g$&$+!#(B
    
    $BIaDL$O!"N%$l$?%^%7%s$+$i(B finger $B$r$+$1$F$-$??M$N%f!<%6(BID$B$rC5$k$3$H$O=P(B
    $BMh$^$;$s!#30$+$i$N(B finger $B$NMW5a$,!"$I$N%^%7%s$+$iMh$F$$$k$N$+$r8+$D$1(B
    $B$k$3$H$O=PMh$k$+$bCN$l$^$;$s!#0l$D$N2DG=@-$H$7$F!"(B.plan $B%U%!%$%k$rIaDL(B
    $B$N%U%!%$%k$N$+$o$j$K!VL>A0$D$-%Q%$%W!W$GCV$-49$($k$3$H$GL\E*$,?k$2$i$l(B
    $B$k$+$bCN$l$^$;$s(B($BL>A0$D$-%Q%$%W$r:n$k$K$O(B 'mknod' $B$r;H$$$^$9(B)$B!#$b$C$H$b!"(B
    $BFI<T$N%7%9%F%`$,!VL>A0$D$-%Q%$%W!W$r%5%]!<%H$7$F$*$j!"(Bfinger $B%G!<%b%s(B
    $B$,CV49$($r5v$;$P!"$G$9$,!#(B
    
    $B>e=R$N$h$&$K$G$-$?$i!"(B.plan $B%U%!%$%k$r=q$-9~$_MQ$K(B open $B$9$k%W%m%0%i%`(B
    $B$rF0$+$7$^$9!#(Bopen $B$OB>$NJL$N%W%m%;%9(B($B$9$J$o$A(B fingerd)$B$,(B.plan $B%U%!%$(B
    $B%k$rFI$_9~$_MQ$K(B open $B$9$k$^$G%V%m%C%/$7$^$9!#$3$&$9$l$P!"$3$N%Q%$%W$K(B
    $BBP$7$F9%$-$J$3$H$,=PMh$^$9!#$9$J$o$A!"C/$+$,(B finger $B$r$+$1$F$-$?;~$KKh(B
    $B2s0c$C$?(B .plan $B$N>pJs$r8+$;$?$j$9$k$3$H$,=PMh$^$9!#(B
    
    $BEvA3$G$9$,!"%7%9%F%`$,L>A0$D$-%Q%$%W$r%5%]!<%H$7$F$$$J$+$C$?$j!"(Bfingerd
    $B$,(B .plan $B%U%!%$%k$ODL>o$N%U%!%$%k$G$"$k(B($B%Q%$%W$J$I$G$J$$(B)$B$3$H$rA0Ds$H$7(B
    $B$F$$$k$N$J$i$P$3$NJ}K!$OA4A3$&$^$/$$$-$^$;$s!#(B
    
    $B>e=R$N%W%m%0%i%`Cf$G!"B>$N%[%9%H$+$i%"%/%;%9$,$"$C$?;~$K!V(Bnetstat$B!W$N=P(B
    $BNO%G!<%?$rD4$Y!"$I$3$N%[%9%H$+$iMW5a$,Mh$F$$$k$+$rFCDj$9$k$3$H$,=PMh$^(B
    $B$9$,!"B>$N%[%9%H>e$N%f!<%6(BID$B$r<hF@$9$k$3$H$O$G$-$^$;$s!#(B
    
    $BB>$N%[%9%H$N%f!<%6(BID$B$rF@$k$K$O!"$=$N%[%9%H$,(B RFC931 $B$K=R$Y$i$l$F$$$k$h(B
    $B$&$JG'>Z%5!<%S%9$rDs6!$7$F$$$kI,MW$,$"$j$^$9!#8=>u$G$O!"IaDL$N(BBSD$B%^%7%s(B
    $BMQ$N(B RFC931 $B$N<BAu$K(B3$B<oN`$"$j!"$$$/$D$+$N%"%W%j%1!<%7%g%s(B(wuarchive
    ftpd $B$J$I(B)$B$,$=$N%5!<%P$r%5%]!<%H$7$F$$$^$9!#$h$j>\$7$$>pJs$,I,MW$J$i$P(B 
    rfc931-users $B%a!<%j%s%0%j%9%H$K;22C$9$k$3$H$r$*4+$a$7$^$9!#%j%/%(%9%H$O(B
    rfc931-users-request@kramden.acf.nyu.edu $B$^$G!#(B
    
    $B$3$N2sEz$K4XO"$7$F!"Cm0UE@$,#3$D$[$I$"$j$^$9!#$^$:!"B?$/$N(B NFS $B%7%9%F%`(B
    $B$OL>A0$D$-%Q%$%W$r$A$c$s$HG'<1$7$F$/$l$^$;$s!#$9$J$o$A!"B>$N%^%7%s>e$G(B
    $B%Q%$%W$rFI$b$&$H$7$?>l9g$K%?%$%`%"%&%H$,5/$3$k$^$G%V%m%C%/$9$k$+!"Bg$-(B
    $B$5(B 0 $B$N%U%!%$%k$@$H;W$o$l$F2?$bI=<($5$l$J$$!"$H$$$&$3$H$,5/$3$k$+$b$7$l(B
    $B$^$;$s!#(B
    
    $B#2$DL\$NLdBj$O!"B?$/$N%7%9%F%`$G!"(Bfingerd $B$O(B .plan $B%U%!%$%k$rFI$`A0$K(B
    $B%U%!%$%kFb$K%G!<%?$,$"$k$+(B($B$HFI$_9~$_2DG=$G$"$k$+(B)$B$r%A%'%C%/$9$k!"$H$$(B
    $B$&$3$H$G$9!#$3$N%A%'%C%/$K$h$jB>$N%[%9%H$+$i$N(B finger $BMW5a$,$"$C$F$b(B 
    fingerd $B$,(B .plan $B%U%!%$%k$rA4$/L5;k$7$F$7$^$&!"$H$$$&$3$H$,$"$k$+$b$7$l(B
    $B$^$;$s!#(B
    
    $B#3$DL\$NLdBj$O!"L>A0$D$-%Q%$%W$r%5%]!<%H$7$F$$$k%7%9%F%`$G$O!"%7%9%F%`(B
    $BCf$G;H$($kL>A0$D$-%Q%$%W$N?t$K@)8B$,$"$k$3$H$,B?$$!"$H$$$&$3$H$G$9!#%+!<(B
    $B%M%k$N%3%s%U%#%.%e%l!<%7%g%s%U%!%$%kCf$N(B FIFOCNT $B%*%W%7%g%s$r8+$F$_$F2<(B
    $B$5$$!#$b$7!"%7%9%F%`Cf$NL>A0$D$-%Q%$%W$N?t$,$3$N(BFIFOCNT$B$NCM$r1[$($F$$$k(B
    $B$H!"C/$+$,%Q%$%W$r>C$9$^$G?7$7$$%Q%$%W$O%V%m%C%/$7$F$7$^$$$^$9!#L>A0$D(B
    $B$-%Q%$%W$N?t$,8GDj$G$"$kM}M3$O!"(B($B%Q%$%WMQ$N(B)$B%P%C%U%!$O(B non-paged $B%a%b%j(B
    $BFb$K3d$jEv$F$i$l$k$?$a$G$9!#(B
    
------------------------------
Subject: Is it possible to reconnect a process to a terminal ... ?
Date: Thu Mar 18 17:16:55 EST 1993

4.10) $B%W%m%;%9$rC<Kv$+$i@Z$jN%$7$?8e!"Nc$($P%W%m%0%i%`$r%P%C%/%0%i%s%I$GF0$+(B
  $B$7$F%m%0%"%&%H$7$?8e$J$I$K$K:F$SC<Kv$K@\B3$9$k$3$H$O2DG=$G$7$g$&$+!#(B
    
    $BB?$/$N<oN`$N(B UNIX $B$G$O!"(BVMS $B$d(B Multics $B$H$$$C$?(B OS $B$,%5%]!<%H$7$F$$$k(B
    $B$h$&$J!"%W%m%;%9$r!VC<Kv$+$i@Z$jN%$9!W!"!VC<Kv$K7R$2$k!W$H$$$&5!G=$r(B
    $B;}$C$F$$$^$;$s!#$7$+$7$J$,$i!"<+M3$K:FG[I[=PMh$k%Q%C%1!<%8$,(B2$B$D$"$j!"(B
    $B$3$l$i$r;H$&$3$H$G!"8e$GC<Kv$K:F@\B3$9$k$3$H$,=PMh$k$h$&$K%W%m%;%9$r(B
    $B<B9T3+;O$9$k!"$H$$$&$3$H$,=PMh$^$9!#(B
    
    $B0l$D$O(B "screen" $B$G!"$3$l$O(B comp.sources.unix $B%"!<%+%$%VCf$K!"(B"Screen,
    multiple windows on a CRT(CRT $B>e$K%^%k%A%&%$%s%I%&$r<B8=$7$^$9(B)" $B$H$"(B
    $B$j$^$9(B(comp.sources.misc volume 28 "screen-3.2" $B$r;2>H(B)$B!#$3$N%Q%C%1!<(B
    $B%8$O>/$J$/$H$b(B BSD, SystemV r3.2 SCO UNIX $B>e$GF0:n$7$^$9!#(B
    
    $B$b$&0l$D$O(B "pty" $B$G!"$3$l$O(B comp.sources.unix $B%"!<%+%$%V$K(B "Run a 
    program under a pty session ($B5?;wC<Kv%;%C%7%g%s2<$G%W%m%;%9$r<B9T(B)"
    (volume 23 $B$N(B "pty" $B$r;2>H(B) $B$H=q$+$l$F$$$^$9!#(Bpty $B$O(B BSD-like $B$J%7%9(B
    $B%F%`>e$G$N$_F0:n$9$k$h$&$K@_7W$5$l$F$$$^$9!#(B
    
    $B$3$l$iN>J}$N%W%m%0%i%`$H$b4{$K<B9T3+;O$5$l$F$$$k%W%m%;%9$K$O;H$&$3$H$,(B
    $B=PMh$^$;$s!#$9$J$o$A!"@Z$jN%$7!":F@\B3$,2DG=$J$N$O(B screen $B$d(B pty $B$r;H$C(B
    $B$F<B9T3+;O$5$l$?%W%m%;%9$N$_$G$"$k!"$H$$$&$3$H$G$9!#(B
    
------------------------------
Subject: Is it possible to "spy" on a terminal ... ?
Date: Thu Mar 18 17:16:55 EST 1993

4.11) $BC<Kv$r(B "spy" $B$9$k$3$H!"$9$J$o$A!"$"$kC<Kv$K=PNO$5$l$?FbMF$rJL$NC<Kv$K(B
  $B=PNO$9$k$3$H$O2DG=$G$7$g$&$+!#(B
    
    $B$$$/$D$+$NJ}K!$,$"$j$^$9$,!"$I$l$b40A4$G$O$"$j$^$;$s!#(B
    
    * kibitz $B%W%m%0%i%`$r;H$&$H!"Fs?M(B($B$+$=$l0J>e(B) $B$G%7%'%k(B($B$+B>$N$*9%$-$J%W(B
      $B%m%0%i%`(B)$B$r;H$C$FBPOC$9$k$3$H$,=PMh$^$9!#!V(Bkibitz $B$N;H$$J}!W$h$j(B:
    
      - $BB>?M$NC<Kv%;%C%7%g%s$N4F;k!"1g=u(B
      - $B5U%9%/%m!<%k!"2qOC$NJ]B8!"?J9TCf$N2qOC$NJT=8$H$$$C$?5!G=$r;}$D!"2q(B
        $B5D$N5-O?(B
      - $B%A!<%`$rAH$s$@%2!<%`!"%I%-%e%a%s%HJT=8$J$I!"$=$l$>$l$N?M$,D9=j!"C;(B
        $B=j$rJd$$$D$D9T$J$&6&F1:n6H(B
    
      kibitz $B$O(B $B!V(Bexpect destribution$B!W$N0lIt$G$9!#Ld(B3.9$B$r;2>H$7$F2<$5$$!#(B
    
      kibitz $B$G$O(B "spy $B$9$k(B" $BAj<j$N5v2D$,I,MW$G$9!#Aj<j$N5v2D$J$7$K(B spy $B$9(B
      $B$k$K$O$"$^$jK+$a$i$l$?$b$N$G$O$J$$<jCJ$rMQ$$$M$P$J$j$^$;$s!#(B
    
    * $B%+!<%M%kFbIt$rC5$7!"LdBj$H$J$C$F$$$kC<Kv$N=PNO%P%C%U%!$r8+$F!"$=$N(B
      $B%P%C%U%!Cf$NJ8;z$rI=<($9$k%W%m%0%i%`$r=q$/$3$H$O=PMh$^$9!#$7$+$7$3$N(B
      $BJ}K!$O(B UNIX $B%+!<%M%k$r?($C$?7P83$N$J$$?M$,$d$k$h$&$J2r$G$O$"$j$^$;(B
      $B$s!#$=$N>e!"$I$s$J<jCJ$rMQ$$$h$&$H$b!"0\?"@-$N$"$k$b$N$O:n$l$J$$$G(B
      $B$7$g$&!#(B
    
    * $B$b$7!"%O!<%IE*$K7k@~$5$l$?FCDj$NC<Kv$r>o;~4F;k$7$?$$$N$J$i(B($B$D$^$j!"$"(B
      $B$k%^%7%s$N%3%s%=!<%kC<Kv$r%*%Z%l!<%?$,B>$N%^%7%s$+$i%A%'%C%/$G$-$k$h(B
      $B$&$J<jCJ$,M_$7$$>l9g(B)$B!"$=$NC<Kv$N%1!<%V%k$KK\Ev$K%b%K%?$r7R$0$N$,NI$$(B
      $B$G$7$g$&!#Nc$($P!"%b%K%?$N=PNO$rJL$N%^%7%s$N%7%j%"%k%]!<%H$K7R$.!"$=(B
      $B$N%]!<%H>e$GF~NO$r$I$3$+$KJ]B8$7!"$=$NF~NO$r!VJL$N!W%]!<%H(B($B$3$N%]!<%H(B
      $B$OK\J*$NC<Kv$K7Q$C$F$$$k(B)$B$K=PNO$9$k$h$&$J%W%m%0%i%`$rF0$+$;$PNI$$$H$$(B
      $B$&$3$H$K$J$j$^$9!#$3$N$h$&$J$3$H$r$9$k$N$J$i!"C<Kv$+$i$N$"$i$f$k=PNO(B
      $B$,$A$c$s$H%1!<%V%k$rDL$7$FE>Aw$5$l$F$$$k$3$H$r3N$+$a$J$1$l$P$J$j$^$;(B
      $B$s!#$b$7(B computer->terminal $B@~$N$_7R$.$"$o$;$?$N$J$i$P!"$3$l$OBg$-$J(B
      $BLdBj$K$O$J$i$J$$$G$7$g$&$,!#$3$NJ}K!$O!"C<Kv$r7R$2$?$j$9$k$3$H$K@:DL(B
      $B$7$F$$$k?M0J30$O$d$k$Y$-$G$O$J$$$G$7$g$&!#(B
    
------------------------------

End of unix/faq Digest part 4 of 7
*********************************
------------------------------$B$3$3$^$G(B------------------------------
