Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sh trap wait

1 view
Skip to first unread message

WATANABE Katsuhiro

unread,
Aug 12, 2002, 9:52:22 PM8/12/02
to
あたりの follow-up の遅さが議論の劚げになっおいたらごめんなさい。

しらい たかし <shi...@nintendo.co.jp> さんが
蚘事 <9e39lu$3h3$1...@nsvn01.zaq.ne.jp> でいはく
>  そしお、ここからが重芁な話なんですが、job 制埡には端末制埡
> の問題が぀きたずいたす。foreground job ず background ずで端
> 末入出力を分け合う蚳です。
>  䟋えば cat(1) を匕数無しで実行するず、stdin を食っお stdout
> を吐くずいう繰返しをしたすが、これを「cat &」ずしお background
> で実行させるず SIGTTIN を受けお停止したす。぀たり background
> process は端末を持たないこずが刀りたす。

違いたす。最埌の文が盎前の文からどうしお導出できるのか䞍明です。
background process(以䞋 bg proc.) も 間違いなく制埡端末を持っお
いるでしょう。䟋えば以䞋のようなお銎染みの城候を挙げおおきたす
1. ps(1) で bg process を芋るず、TT(制埡端末)が結び぀いおいたす。
2. ナヌザが(bg proc. の制埡)端末から logout した時などは、
bg proc. に SIGHUP が送られおきたす。
3. bg proc. から出力を詊みおも、通垞は SIGTTOU で停止したせん。
(しらいさんの説明法が留保条件なく正しいのなら、そのたた 3.に
適甚しお「端末を持぀こずが刀りたす。」が導出可ずなりたす。)

bg proc. が端末から read(2) を詊みたずきに SIGTTIN を受けるのは、
端末を持たないからではなく、端末偎から process を調べおみるず
foreground process (group)になっおいないからでしょう。

--
枡邊克宏 <ka...@watanabe.name> http://katsu.watanabe.name

Takashi SHIRAI

unread,
Aug 16, 2002, 7:11:14 AM8/16/02
to
 しらいです。

In article <uy9bbe...@katsu.watanabe.name>,
WATANABE Katsuhiro <ka...@watanabe.name> wrote:
>あたりの follow-up の遅さが議論の劚げになっおいたらごめんなさい。

 遅いのは構わないのですが、そのためにそこいらの news server
では軒䞊 expire されおいお文脈が远えないので、その蟺りの配慮
をしおくれたら良かったんじゃないかず思いたす。
 自分で曞いた蚘事ずは蚀え、䜕カ月も経っおしたったら完党に蚘
憶から消し去られおしたいたすし。


>>  䟋えば cat(1) を匕数無しで実行するず、stdin を食っお stdout
>> を吐くずいう繰返しをしたすが、これを「cat &」ずしお background
>> で実行させるず SIGTTIN を受けお停止したす。぀たり background
>> process は端末を持たないこずが刀りたす。
>
>違いたす。最埌の文が盎前の文からどうしお導出できるのか䞍明です。

 倚分 TIOCSPGRP の話を曞きたかったんじゃないかず思いたす。
この手の話を正確性を欠かずに衚珟しようずするず非垞に耇雑な話
になるので、その蟺りの詳现をがかしお刀り易い衚珟で説明した結
果、厳密には事実ず異なる衚珟になっおしたっただけなんじゃない
でしょうか。
 どういう文脈で出お来た話なのか党く思い出せないので、これ以
䞊は䜕ずも刀断し兌ねたすが。


>background process(以䞋 bg proc.) も 間違いなく制埡端末を持っお
>いるでしょう。䟋えば以䞋のようなお銎染みの城候を挙げおおきたす
>1. ps(1) で bg process を芋るず、TT(制埡端末)が結び぀いおいたす。

 それは䜕をしお「制埡端末」ず呌ぶかでしょう。ps(1) の TT の
倀は kernel の process 管理構造䜓の䞭から、その process ず結
び぀けられた端末の名前を匕甚しおいるだけで、その process ず
端末の関係たでは関知したせん。
 䞀方、TIOCGPGRP により取埗出来る process は䞀端末に぀き最
倧䞀個であり、それ以倖の process は端末の入出力を䜿うこずは
出来たせん。
 元蚘事の文脈では、そういう制埡可胜な端末を持っおいるか吊か
を蚀っおいるんだず思いたす。

 この蟺り、POSIX 以前ず以埌ずで埮劙に衚珟が異なるかも知れ
たせん。因みに「process」も正確には「process group」です。


>2. ナヌザが(bg proc. の制埡)端末から logout した時などは、
> bg proc. に SIGHUP が送られおきたす。

 それは完党に shell のお仕事です。kernel の仕事ではありたせ
ん。background process に SIGHUP が送られるかどうかは shell
の実装に䟝存したす。
 因みに Bourne shell の実装では、shell が process 制埡を行
なわない (fg も bg も非実装) ので、「&」で起動された process
は logout 埌も生き続けたす。


>3. bg proc. から出力を詊みおも、通垞は SIGTTOU で停止したせん。

 これも shell の実装䟝存の筈です。単玔に fork(2) ず exec(2)
で shell を実装しお、setpgrp(2) しお芪に TIOCSPGRP するず、
子は SIGTTOU で停止したすよ。

if (!(pid = fork())) {
setpgid(0, getpid());
execl("/bin/echo", "echo", "foo", NULL);
}
else if (pid > 0) {
tcsetpgrp(0, getpid());
waitpid(pid, &i, WUNTRACED);
if (WIFSTOPPED(i)) printf("%d\n", WSTOPSIG(i));
}

 䜆し、tty driver の実装によっおは local mode LTOSTOP の
状態に䟝存したす。


>bg proc. が端末から read(2) を詊みたずきに SIGTTIN を受けるのは、
>端末を持たないからではなく、端末偎から process を調べおみるず
>foreground process (group)になっおいないからでしょう。

 その「端末に察する foreground process」ずいう甚法は POSIX
で出お来た termios 甚語だず思いたすよ。

--
しらい たかし

WATANABE Katsuhiro

unread,
Aug 19, 2002, 11:40:20 AM8/19/02
to
過去の蚘事を参照したい堎合、いた若者に倧人気で、䞀番ナりい
アヌカむブスポットはどこなのでしょうTV CMでおなじみのずか、
アメリカで倧流行のずか、モデル・女優も愛甚のずかだず
嬉しいのですが。Queen はサヌビスが終了する予定だし、Google
だず挢字の衚瀺が怪しいこずがあるように芋えたす。

蚘事 <ajimpj$mbo$1...@nsvn01.zaq.ne.jp> で
しらい たかし <shi...@nintendo.co.jp> さんいはく

> >あたりの follow-up の遅さが議論の劚げになっおいたらごめんなさい。
>
>  遅いのは構わないのですが、そのためにそこいらの news server
> では軒䞊 expire されおいお文脈が远えないので、その蟺りの配慮
> をしおくれたら良かったんじゃないかず思いたす。
>  自分で曞いた蚘事ずは蚀え、䜕カ月も経っおしたったら完党に蚘
> 憶から消し去られおしたいたすし。

ごもっずもです。

議論の本題は、wait が絡んだずきの trap の振舞いがシェルによっお
異なる理由を探ろうずいう点でした。この点に぀いおは順調に話が
進んで結論が埗られたようです。私は background process が
制埡端末を持぀かどうかずいう点だけに蚀及したく、これは UNIX
䞀般の話で元の文脈ずは独立ず思い、適圓な郚分の匕甚に留めたした。
スレッドを構成する䞀連の蚘事は、珟圚はただ以䞋の堎所で参照
できるかず思いたす
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3C9e2890%242cm%241%40sc6%2Eosa%2Esharp%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3C9e39lu%243h3%241%40nsvn01%2Ezaq%2Ene%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3C9e9ti9%24323%241%40poinsettia%2Etrust%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3C9ehrgf%245it%241%40sc6%2Eosa%2Esharp%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3Csnm1ypfz5md%2Efsf%40indra%2Espp%2Ehpc%2Efujitsu%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3Csnmzoc3xpw6%2Efsf%40indra%2Espp%2Ehpc%2Efujitsu%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3C9f2ln7%24edd%241%40sc6%2Eosa%2Esharp%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3Csnmvgmiosin%2Efsf_%2D_%40indra%2Espp%2Ehpc%2Efujitsu%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3Csnmu222ornz%2Efsf%40indra%2Espp%2Ehpc%2Efujitsu%2Eco%2Ejp%3E
http://queen.heart.ne.jp/cgi-bin/browse?msgid=%3C9f8f8r%24bnh%241%40pin3%2Etky%2Eplala%2Eor%2Ejp%3E
じきなくなりそうなので、お早めにどうぞ。
--
枡邊克宏 http://katsu.watanabe.name

WATANABE Katsuhiro

unread,
Aug 20, 2002, 12:54:25 AM8/20/02
to
process が background にたわされるず制埡端末を持たなくなるか
ずいう件に぀いおです。

蚘事 <ajimpj$mbo$1...@nsvn01.zaq.ne.jp> で
しらい たかし <shi...@nintendo.co.jp> さんいはく

> >background process(以䞋 bg proc.) も 間違いなく制埡端末を持っお


> >いるでしょう。䟋えば以䞋のようなお銎染みの城候を挙げおおきたす
> >1. ps(1) で bg process を芋るず、TT(制埡端末)が結び぀いおいたす。
>
>  それは䜕をしお「制埡端末」ず呌ぶかでしょう。

必ず /dev/tty が制埡端末ぞの通り道ずなっおいたす。これは UNIX に
分類される OS すべおで共通です。(see [Linux][BSD][Solaris])
そしお background process も /dev/tty にアクセスできたす。

> ps(1) の TT の
> 倀は kernel の process 管理構造䜓の䞭から、その process ず結
> び぀けられた端末の名前を匕甚しおいるだけで、その process ず
> 端末の関係たでは関知したせん。
>  䞀方、TIOCGPGRP により取埗出来る process は䞀端末に぀き最
> 倧䞀個であり、それ以倖の process は端末の入出力を䜿うこずは
> 出来たせん。

「最倧䞀個」が出おくるあたりに、しらいさんの混乱を感じたす。
「その proces ず結び぀けられた端末」が、通䟋 control terminal,
controlling terminal、制埡端末ず呌ばれおいるものです。そしお、
端末からみた「TIOCGPGRP により取埗できる process(group)」、
蚀い換えお controlling group に属しおる process だけが
制埡端末を持぀ず考えおいるのなら、それは誀りです。

process から芋お制埡端末は(存圚すれば)䞀意に決たり /dev/tty
ずしお提䟛されたすね。ずころが逆に、ある端末 t からみれば、t を
制埡端末にしおいる process (group) は耇数ありえたす(党くない
こずもある)。しらいさんの蚀う「最倧䞀個」のわけがありたせん。
1察倚の関係を䜕かの勘違いで1察1に抌し蟌めおしたっおいるのでは。

私の䞻匵を別な面から再びたずめたす
process に制埡端末があれば、それは /dev/tty を通じお参照できる。
この関係は、その process が(シェルにより)background に
たわされたからずいっお倉化するものではない。background の
process でも制埡端末(すなわち有効な /dev/tty)を持぀ものはある。


controlling group に属する process だけが入出力できるずいうのも
事実ず異なりたす。入力に぀いおは 4BSD ず SVR4 以降になっお確かに
制限されるようになりたしたが、それ以倖の process が端末に出力を
するこずは普通にありたす。(see [Job])


> それ以倖の process は端末の入出力を䜿うこずは
> 出来たせん。
>  元蚘事の文脈では、そういう制埡可胜な端末を持っおいるか吊か
> を蚀っおいるんだず思いたす。

念のため確認しおおくず、制埡端末(control terminal)ずいう蚀葉は、
プロセスから芋お「制埡可胜」な端末(制埡の客䜓)のこずをいっお
いるのではなく、プロセス矀を制埡する䞻䜓を指しおいっおいたす。


参考文献
[Job] Job Control on BSDi and SunOS systems;
http://www-acs.ucsd.edu/instructional/unix/jobctrlbsd.html;
"Both foreground and background jobs can write to the
controlling terminal."
[Linux] /dev/tty のような端末スペシャルファむル;
http://www.linux.or.jp/JF/JFdocs/Text-Terminal-HOWTO-6.html;
[BSD] mount_fdesc(8) on NetBSD;
http://www.tac.eu.org/cgi-bin/man-cgi?mount_fdesc+8+NetBSD-current など;
[Solaris] tty(7D) on Solaris;
http://docs.sun.com/?p=/doc/816-0222/6m6nmlt3g&a=view
[TermiosGen] Job Control や The Controlling Terminal の説明の節;
各皮 OS の termios(4);
http://www.freebsd.org/cgi/man.cgi?query=termios&apropos=0&sektion=4&manpath=FreeBSD+4.6-RELEASE&format=html など;
[TermiosSol] Solaris のSession Management の説明の節;
http://docs.sun.com/?q=termios&p=/doc/816-0222/6m6nmlt36&a=view;
"Background process groups in the controlling process's
session are subject to a job control line discipline when
they attempt to access their controlling terminal."
[PS] ps(1) man page;

--
枡邊克宏 http://katsu.watanabe.name

Takashi SHIRAI

unread,
Aug 20, 2002, 9:36:10 AM8/20/02
to
 しらいです。

In article <u4rdqy...@katsu.watanabe.name>,


WATANABE Katsuhiro <ka...@watanabe.name> wrote:
>>  それは䜕をしお「制埡端末」ず呌ぶかでしょう。
>
>必ず /dev/tty が制埡端末ぞの通り道ずなっおいたす。これは UNIX に
>分類される OS すべおで共通です。(see [Linux][BSD][Solaris])
>そしお background process も /dev/tty にアクセスできたす。

 䜕だか話が噛み合っおたせんね。枡邊さんの文章も私の文章も、
「制埡端末」の定矩によっお真にもなるし停にもなるずいう代物な
ので、文章そのものの真停ではなくおたずは「制埡端末」の定矩を
先に明確にすべきだず蚀っおいるんです。
 色々な文献を圓たっおみるず、「control terminal」「controlled
terminal」「controlling terminal」ず様々な原語を「制埡端末」
ずいう同じ蚳で衚しおいる堎面が芋぀かりたす。
 「control」はずもかく「controlling」ず「controlled」ずでは
意味が党然違いたすよね。

 で、その䞊で、私の原文の指す「制埡端末」は TIOCSPGRP のこ
ずを蚀っおるんだろうず、過去を思い出し぀぀憶枬した蚳です。䞀
幎以䞊も前の話で、その時䜕をどう考えおいたかたではいちいち憶
えおいられたせんから憶枬の域を出たせん。


>>  䞀方、TIOCGPGRP により取埗出来る process は䞀端末に぀き最
>> 倧䞀個であり、それ以倖の process は端末の入出力を䜿うこずは
>> 出来たせん。
>
>「最倧䞀個」が出おくるあたりに、しらいさんの混乱を感じたす。
>「その proces ず結び぀けられた端末」が、通䟋 control terminal,
>controlling terminal、制埡端末ず呌ばれおいるものです。そしお、
>端末からみた「TIOCGPGRP により取埗できる process(group)」、
>蚀い換えお controlling group に属しおる process だけが
>制埡端末を持぀ず考えおいるのなら、それは誀りです。

 問題が「制埡端末」の定矩にあるず思ったので、ここでは敢えお
「制埡端末」ずいう蚀葉を避けお蚘述しおいたす。それをわざわざ
読み替えお話を匕っかき回さないで䞋さい。

 「制埡」も「端末」も割ず䞀般的な単語で、UNIX kernel の tty
を指す以倖にも、FA 甚のコン゜ヌルだずかリモヌトコントロヌラ
だずか、「制埡 {する|甚の} 端末」ずいう䞀般的な抂念を持っお
いたす。
 ですから、ここではいわゆる「controlling terminal」ずしおの
意味以倖に「制埡端末」ずいう呌称を甚いおしたったこずのみに焊
点をあおお、問題点を敎理しようずした蚳です。

 ここでは枡邊さんは䜕をしたいのでしょうか話を混ぜっ返した
いだけ盞手を蚀い負かしたいだけ

 そもそも <uy9bbe...@katsu.watanabe.name> で䜕が蚀い
たいのか私には芋えたせんでした。
 「䞀般に制埡端末ずは controlling terminal のこずを指し、
setsid(2) 等で明瀺的に切り離さない限りは党おの process は
この制埡端末を倱わない」ずいう指摘であれば「衚珟が䞍正確で
したね」枈んだでしょうが、いきなり「違いたす」ず来おその理
由ずしお挙げられおいるものが意味䞍明だったもので。
 その蟺りの事情は実装䟝存だし POSIX 前埌で異なるし、衚珟
に曖昧さが残るのは吊めないず思いたすが、そういう話ではなく
お「background process が controlling terminal を持぀傍蚌」
ずしお筋違いな根拠を持ち出されたのでは話が芋えたせん。


>process から芋お制埡端末は(存圚すれば)䞀意に決たり /dev/tty
>ずしお提䟛されたすね。ずころが逆に、ある端末 t からみれば、t を
>制埡端末にしおいる process (group) は耇数ありえたす(党くない
>こずもある)。しらいさんの蚀う「最倧䞀個」のわけがありたせん。
>1察倚の関係を䜕かの勘違いで1察1に抌し蟌めおしたっおいるのでは。

 誰も「制埡端末は最倧䞀個」なんお蚀っおたせんよ。人の話をね
じ曲げお自分に有利なように話を進めようずしおいたせんか私が
敢えお「制埡端末」ずいう呌称を避けた苊劎が氎の泡です。
 「TIOCGPGRP により取埗出来る process」は「最倧䞀個」で合っ
おたすよね。私の衚珟は、元蚘事の「制埡端末」はそのこずが蚀い
たかったのだろうず蚀っおいるに過ぎなくお、「制埡端末」が䜕な
のかを議論しおいる蚳ではありたせん。


>process に制埡端末があれば、それは /dev/tty を通じお参照できる。
>この関係は、その process が(シェルにより)background に
>たわされたからずいっお倉化するものではない。background の
>process でも制埡端末(すなわち有効な /dev/tty)を持぀ものはある。

 で、それは元の議論にどう結び付くんでしょうかこの䞀節は単
に「controlling terminal に関する䞀般論」を述べただけの話で、
trap & wait の挙動ずは関係ないでしょう。
 ぀たり、文章ずしおは合っおいるけれども文脈ずしおは合っおい
ない䞀節であり、本題から芋たらどうでもいい話に過ぎたせん。

 元蚘事の衚珟は「制埡端末」の指し瀺すものが䜕であるかずいう
点に疑問が残るずいうだけで、文脈的には本題に沿った話を展開し
おいたすよね。
 だから問題なのは䜕をしお「制埡端末」ず呌ぶか、この䞀点のみ
なんじゃありたせんか、ずいうのが私の問いかけだった蚳です。問
題の本質を芋倱っお䞋らない揚げ足取りに終始させないで䞋さい。

 ずは蚀え、この文脈でいきなり TIOCSPGRP の話を持ち出すの
も唐突過ぎるかも知れない。䜕を導きたくおこんな話にしたんだ
ろう䜕せ䞀幎以䞊も前のこずなので皆目芋圓が぀かん。
 Date: 芋るず金曜深倜なので、酒かっくらっおいい気分になっ
おただけだったりしお :-)

--
しらい たかし

WATANABE Katsuhiro

unread,
Aug 21, 2002, 7:36:40 PM8/21/02
to
すみたせん皆さん、特にしらいさん。いろいろご䞍満はおありでしょうが、
以䞋のような私の反省でもっお勘匁しおやっおください。

蚘事 <ajtgig$6i7$1...@nsvn01.zaq.ne.jp> で
しらい たかし <shi...@nintendo.co.jp> さんいはく
>  ここでは枡邊さんは䜕をしたいのでしょうか話を混ぜっ返した
> いだけ盞手を蚀い負かしたいだけ

本題の trap & wait の話から掟生独立させお、
「background process も制埡端末を持぀こずがある」
ずいう䞻匵を展開したかったのです。さらにそれに皆さんが合意しお
もらえれば嬉しいず思いたした。mohta さんは「(議論は)勝ち負けですよ」
ず蚀っおいたすが、私は違いたす。叀い話を発掘しお蒞し盎すのが倧奜き
なのは認めたすが、混ぜっ返す意図はありたせん。

> 私の衚珟は、元蚘事の「制埡端末」はそのこずが蚀い
> たかったのだろうず蚀っおいるに過ぎなくお、「制埡端末」が䜕な
> のかを議論しおいる蚳ではありたせん。

しらいさんずは逆に、私の意図は、専ら「制埡端末」が䜕なのかず
その特質だけを論じるこずでした。

> >process でも制埡端末(すなわち有効な /dev/tty)を持぀ものはある。


> この䞀節は単
> に「controlling terminal に関する䞀般論」を述べただけの話で、
> trap & wait の挙動ずは関係ないでしょう。

たさに私の投皿䌁図どおりです。trap & wait ず党く無関係に、
controlling terminal に関する䞀般論に焊点を圓おようずしたのが
私の投皿です。

>  ぀たり、文章ずしおは合っおいるけれども文脈ずしおは合っおい
> ない䞀節であり、本題から芋たらどうでもいい話に過ぎたせん。

私はその、本題でない・本来の文脈ではない郚分こそを、皆さんず
議論したかったのです。


反省するに、すれ違いの原因のひず぀は、
枡邊の蚘事 <u4rdq6...@katsu.watanabe.name> の


> 議論の本題は、wait が絡んだずきの trap の振舞いがシェルによっお
> 異なる理由を探ろうずいう点でした。この点に぀いおは順調に話が
> 進んで結論が埗られたようです。私は background process が
> 制埡端末を持぀かどうかずいう点だけに蚀及したく、

ずいう私のお断りが事埌になっおしたった点ではないでしょうか。
おわびしたす。誀解を生たないよう Subject: も倉曎すべきでした。

--
枡邊克宏 http://katsu.watanabe.name

Tanaka Akira

unread,
Aug 21, 2002, 10:52:51 PM8/21/02
to
In article <uptwby...@katsu.watanabe.name>,
WATANABE Katsuhiro <ka...@watanabe.name> writes:

> 「background process も制埡端末を持぀こずがある」

垞に持぀気がしたす。

SUSv3 によれば、

background process group

(Or background job.) Any process group, other than a foreground process
group, that is a member of a session that has established a connection with
a controlling terminal.

ずいうように、background process group は定矩により制埡端末を持぀もの
のうち foreground process group でないものを指すので、制埡端末を持たな
いものは background process group ずは呌ばないのではないのでしょうか。

それずも SUSv3 ずは異なる定矩ないし慣習があるずいうこずでしょうか。
--
[田侭 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん䜜戊です⊇」(Little Worker, 桂遊生䞞)

Takashi SHIRAI

unread,
Aug 22, 2002, 9:43:49 AM8/22/02
to
 しらいです。

In article <hvo4rdnr4...@coulee.a02.aist.go.jp>,


Tanaka Akira <a...@m17n.org> wrote:
> (Or background job.) Any process group, other than a foreground process
> group, that is a member of a session that has established a connection with
> a controlling terminal.
>
>ずいうように、background process group は定矩により制埡端末を持぀もの
>のうち foreground process group でないものを指すので、制埡端末を持たな
>いものは background process group ずは呌ばないのではないのでしょうか。

 ん事実関係はずもかくずしお、その英文はこう蚳すのが正しい
ような気がするんですが。
「フォアグラりンドプロセスグルヌプ以倖の党おのプロセ
スグルヌプ。フォアグラりンドプロセスグルヌプずは、制
埡端末に関連づけられたセッションのメンバのこず。」
 「that」が「,」を二぀も跚いだ先を修食しおいるず捉えるず、
「,」で区切られた郚分が修食的にしか働かないように扱われたす
が、この文の䞻題はむしろその「,」で区切られた郚分では
 倚分「connection」も「持぀」ではなくお TIOCSPGRP 的な関連
づけを指しおいるんだず思いたす。

 それずも TIOCNOTTY された daemon 類は「background process
group」ず呌んじゃいけないのかしらん

--
しらい たかし

Takashi SHIRAI

unread,
Aug 22, 2002, 10:22:22 AM8/22/02
to
 しらいです。

In article <uptwby...@katsu.watanabe.name>,


WATANABE Katsuhiro <ka...@watanabe.name> wrote:
>> 私の衚珟は、元蚘事の「制埡端末」はそのこずが蚀い
>> たかったのだろうず蚀っおいるに過ぎなくお、「制埡端末」が䜕な
>> のかを議論しおいる蚳ではありたせん。
>
>しらいさんずは逆に、私の意図は、専ら「制埡端末」が䜕なのかず
>その特質だけを論じるこずでした。

 そういうこずであれば、私が「それは䜕をしお『制埡端末』ず呌
ぶかでしょう」ず回答した時点で、「私はこれこれを『制埡端末』
ず呌んでいたす。そしおその意味に斌いお制埡端末ずは」ず
続ければ良かったんじゃないでしょうか。
 私はあの元蚘事ではそういう意味で「制埡端末」を甚いおいなか
ったず思われるので、違う意味の単語に぀いお自説を展開されたず
ころで、蚀っおいる内容は正しくずも䌚話が成立しないず思いたせ
んか

 䟋えば、「車には運転免蚱が芁る」に察しお「違いたす。車は自
転車や乳母車にも぀いおいたすが、それらの乗物は運転免蚱を必芁
ずしたせん」ず反論しおいるようなものです。
 前者の「車」が「自動車」の意味で甚いられおいるのに察し、埌
者は「車茪」の意味で甚いおいるずいう点だけが争点であっお、前
者の発蚀は別に「自転車や乳母車運転免蚱が芁る」ず䞻匵しおいる
蚳ではありたせんよね。
 䜕を議論したいのかが明らかになれば、その埌「車茪ず運転免蚱
の関係」などずいう無意味な議論には発展しない筈ですが、論点を
芋倱うずそういう無意味な議論になっおしたいたす。

 倚分、あの元蚘事では「端末制埡」ずいう単語に匕きずられお、
「shell が制埡する端末」ずいう意味で「制埡端末」ず蚀っおした
ったんじゃないかず思うんです。
 所謂「controlling terminal」のこずを指しおいる蚳ではありた
せんから、枡邊さんの反論は党く噛み合っおいなかったこずになり
たす。
 枡邊さんはその論点に気づかずに自分の蚀いたいこずだけを䞻匵
し続けたので、私にずっおは党然議論になっおいなかったのでした。

 因みにこの「端末制埡」も意味が曖昧ですね。shell の仕事ず
しおの文脈では ioctl() 的な制埡を指したすが、termios 的な
制埡も「端末制埡」ず呌ぶこずがありたすから。勿論この文脈で
は前者です。


>たさに私の投皿䌁図どおりです。trap & wait ず党く無関係に、
>controlling terminal に関する䞀般論に焊点を圓おようずしたのが
>私の投皿です。

 それならば「はいそうですね」でおしたいです。

 別に私がそういう䞀般知識を持っおいない蚳じゃありたせんし。
甚語や甚法はずもかく、その手の知識が無いず shell の開発な
んか出来たせんからね。


>私はその、本題でない・本来の文脈ではない郚分こそを、皆さんず
>議論したかったのです。

 で、signal ず端末ずの関係に蚀及する堎合には、「controlling
terminal」よりは「TIOCSPGRP された端末」の方がより密接な関係
にあるこずは理解しお頂けたでしょうか

 ひょっずしたら、端末が盎接 background process に SIGHUP
を送るような UNIX の実装もあるのかも知れたせんけど、その堎
合、csh の nohup ずか bash の disown ずか党く無効になっお
したいたすね。

--
しらい たかし

Tanaka Akira

unread,
Aug 22, 2002, 11:18:55 AM8/22/02
to
In article <ak2por$pl$1...@nsvn01.zaq.ne.jp>,
shi...@nintendo.co.jp (Takashi SHIRAI) writes:

>  ん事実関係はずもかくずしお、その英文はこう蚳すのが正しい
> ような気がするんですが。
> 「フォアグラりンドプロセスグルヌプ以倖の党おのプロセ
> スグルヌプ。フォアグラりンドプロセスグルヌプずは、制
> 埡端末に関連づけられたセッションのメンバのこず。」
>  「that」が「,」を二぀も跚いだ先を修食しおいるず捉えるず、
> 「,」で区切られた郚分が修食的にしか働かないように扱われたす
> が、この文の䞻題はむしろその「,」で区切られた郚分では

なぜですか?

英語の文法を自分自身の蚀葉で説明する自信はないので、google で「英語 文
法 カンマ」でひいおみたのですが、最初にでおきた
http://www5a.biglobe.ne.jp/~t-kite/koubun2.htm が私の解釈ず䞀臎したす。

| 、「挿入に気を぀けよう」
|
|  䞀般にカンマずカンマにはさたれた所は、挿入が倚い。カンマずカンマにはさたれた所を飛ば
| しお、そこが文の構成䞊぀ながっおいたら文が成立したら、カンマずカンマにはさたれた所
| は挿入ず考えおほが間違いない。

そしお、

Any process group, other than a foreground process
group, that is a member of a session that has established a connection with
a controlling terminal.

ずいう文はたさにその䟋のように思えたす。぀たり , ではさたれた「other
than a foreground process group」の郚分を飛ばしお

Any process group that is a member of a session that has


established a connection with a controlling terminal.

ずしおも文が成立するので、other than a foreground process group の郚分
は挿入であり、that 以降は挿入郚分ではなく Any process group を修食しお
いる、ずいうのが私の解釈です。

぀たり、私なりに蚳すず、

制埡端末ず接続されたセッションのメンバであるすべおのプロセスグルヌプ
(ただしフォアグラりンドプロセスグルヌプを陀く)

ずなりたす。

なぜ、other than a foreground process group の郚分を挿入ではないず解釈
されたのでしょうか?

>  それずも TIOCNOTTY された daemon 類は「background process
> group」ず呌んじゃいけないのかしらん

私は(匕甚した文章により)呌ばないず解釈しおいたす。

Noriyuki Soda

unread,
Aug 22, 2002, 3:14:50 PM8/22/02
to
shi...@nintendo.co.jp (Takashi SHIRAI) writes:
>  䜕だか話が噛み合っおたせんね。枡邊さんの文章も私の文章も、
> 「制埡端末」の定矩によっお真にもなるし停にもなるずいう代物な
> ので、文章そのものの真停ではなくおたずは「制埡端末」の定矩を
> 先に明確にすべきだず蚀っおいるんです。

shi...@nintendo.co.jp (Takashi SHIRAI) writes:
>  そういうこずであれば、私が「それは䜕をしお『制埡端末』ず呌
> ぶかでしょう」ず回答した時点で、「私はこれこれを『制埡端末』
> ず呌んでいたす。そしおその意味に斌いお制埡端末ずは」ず
> 続ければ良かったんじゃないでしょうか。

その必芁はないず思いたすよ。
UNIX の䞖界で前眮きなく、制埡端末ずいう蚀葉が出おきた堎合、
間違いなく枡邊さんの意味での制埡端末を意味したすから。

(違う意味で䜿っおいる䟋を知らないんですが、もしあった堎合には
著者の誀解の可胜性が高いず思いたす。)

>  それならば「はいそうですね」でおしたいです。

その通りだず思いたす。:-)

枡邊さんが問題を感じた

> ぀たり background process は端末を持たないこずが刀りたす。

ずいう衚珟は、
぀たり端末は、foreground process group にだけ、シグナルを
送るこずが刀りたす。
ず曞くのが、より正確だったわけです。

TIOCSPGRP に関する蚘述を「process が持぀」ず衚珟するのは、カヌネルの
実装を知っおいる人間 (== 枡邊さん) には、違和感があるわけです。

・各 process は、制埡端末を持っおいる。
(background になっおも、やっぱり持っおいる。)
・端末は、foreground process group を持぀。
(TIOCSPGRP は、この foreground process group を蚭定する)

なわけですから 
--
so...@sra.co.jp  Software Research Associates, Inc. 曜田哲之 (SODA Noriyuki)

Noriyuki Soda

unread,
Aug 22, 2002, 4:21:33 PM8/22/02
to
本題に関係ないんですが、぀いでなので

> WATANABE Katsuhiro <ka...@watanabe.name> wrote:
> >2. ナヌザが(bg proc. の制埡)端末から logout した時などは、
> > bg proc. に SIGHUP が送られおきたす。

枡邊さんの、この蚘述は䞍正確な気がしたす。

logout した時 (== セッション・リヌダヌが死んだ時)に カヌネルがシグナル
を送るのは、foreground process group に察しおだけじゃないでしょうか。

shi...@nintendo.co.jp (Takashi SHIRAI) writes:
>  それは完党に shell のお仕事です。kernel の仕事ではありたせ
> ん。background process に SIGHUP が送られるかどうかは shell
> の実装に䟝存したす。

確かに {,t}csh なんかは、この皮の凊理をやっおいたすね。

# ある皮の状況で、意図しないプロセスに SIGHUP が送られる経隓を
# したこずがあっお、個人的には、この凊理は䜙蚈なお䞖話だず
# 思っおたすが。

が、

>  因みに Bourne shell の実装では、shell が process 制埡を行
> なわない (fg も bg も非実装) ので、「&」で起動された process
> は logout 埌も生き続けたす。

この癜井さんの蚘述も、たた間違いだず思いたす。

もし、シェルがゞョブ制埡を党く行なわない堎合には、「&」で
起動されたプロセスも、制埡端末から芋れば foreground process
group に属したす。この堎合、ログアりトする時に、(シェルでは
なく) カヌネルから、SIGHUP が送られる筈です。

ただし、今では ゞョブ制埡を行なう bourne shell もあり (BSD 系の
/bin/sh である ash なんかもそうです)、そういう bourne shell では、
「&」で起動されたプロセスは、制埡端末から芋た background process group
に属したす。この堎合、確かにカヌネルはプロセスにSIGHUP を送りたせんし、
「&」で起動されたプロセスは logout 埌も生き続けたす。

しかし、これは「bourne shell がゞョブ制埡を行なわない」からでは
なく、「その bourne shell がゞョブ制埡を行なっおいる」からです。
぀たり、癜井さんの蚘述は、最終的な振舞いは合っおいるんですが、
原因は逆です。

昔々、ゞョブ制埡なんおものがなかったころは、nohup コマンドで
明瀺的に SIGHUP を無芖するように指定しないず、background process
はログアりト時に殺されおしたったものでした。もし、その bourne shell が
ゞョブ制埡を行なわないものであれば、今でもそうなる筈です。

ずいうわけで、ログアりト時に SIGHUP を送る凊理を、「それは完党に shell
のお仕事です」ず衚珟するのも、それはそれでたずいです。

> >3. bg proc. から出力を詊みおも、通垞は SIGTTOU で停止したせん。
>
>  これも shell の実装䟝存の筈です。

これは、shell の実装には関係ないでしょう。
「stty -tostop」ずしおあれば、枡邊さんの曞いたように動䜜したすし、
「stty tostop」ずしおあれば、癜井さんの曞いたように動䜜する筈です。
この stty の蚭定を無芖しおしたうような shell の実装が存圚するので
しょうか?

>  䜆し、tty driver の実装によっおは local mode LTOSTOP の
> 状態に䟝存したす。

ここは、「tty driver がゞョブ制埡機胜を有しおいる限り垞に、端末の
local mode ずしお TOSTOP が蚭定されおいるか吊かによっお決たりたす」
ず曞くべきだず思いたす。
なお、tty driver がゞョブ制埡機胜を有しおいない堎合には垞に、枡邊さん
の曞いた通り、background でも止たらずに動䜜するず思いたす。

>  その「端末に察する foreground process」ずいう甚法は POSIX
> で出お来た termios 甚語だず思いたすよ。

甚語の方の起源は良く分からないんですが、抂念自䜓は、TIOCSPGRP を
最初に実装した、4BSD が起源じゃないでしょうか。

Takahiro Kambe

unread,
Aug 22, 2002, 9:52:48 PM8/22/02
to
Noriyuki Soda <so...@sra.co.jp> writes:

> 本題に関係ないんですが、぀いでなので


> > >3. bg proc. から出力を詊みおも、通垞は SIGTTOU で停止したせん。
> >
> >  これも shell の実装䟝存の筈です。
>
> これは、shell の実装には関係ないでしょう。
> 「stty -tostop」ずしおあれば、枡邊さんの曞いたように動䜜したすし、
> 「stty tostop」ずしおあれば、癜井さんの曞いたように動䜜する筈です。
> この stty の蚭定を無芖しおしたうような shell の実装が存圚するので
> しょうか?

zshずかで、

% ttyctl -f

ずかしずくず、シェルに制埡が戻っおきた時点でttyのモヌドをresetしたす。
ただ、どこたで戻しおいるのかは確認しおいたせんが。

もっずも、これはシェルの実装ずいうよりも、远加機胜の話しですね。

--
神戞 隆博, 株匏䌚瀟ゞェプロ(京郜) / Takahiro Kambe, JEPRO Co., Ltd.

Takashi SHIRAI

unread,
Aug 23, 2002, 12:21:07 PM8/23/02
to
 しらいです。

In article <hvoznve...@coulee.a02.aist.go.jp>,


Tanaka Akira <a...@m17n.org> wrote:
>なぜ、other than a foreground process group の郚分を挿入ではないず解釈
>されたのでしょうか?

 挿入郚分ず捉えるず、その郚分は副次的なもので最も蚀いたい郚
分はその埌続郚分ずいうこずになっおしたいたすよね。ずいうこず
は、background process ずは䜕かずいう説明では
第䞀矩: 制埡端末を持぀こず
第二矩: foreground でないこず
ずいう優先順䜍になっおしたい、これは逆なんじゃないかず思った
次第です。
 background process の説明をする時に、どっちか片方だけ遞ん
で説明しろず蚀われたら普通は埌者を遞びたせんか少なくずも前
者だけで枈たせおしたうのはかなり誀解を招くず思うんですが。

 どっちの意味にしろ、もっず解釈のゆれが介圚する䜙地の無い
文章にすれば良かったのに。


>>  それずも TIOCNOTTY された daemon 類は「background process
>> group」ず呌んじゃいけないのかしらん
>
>私は(匕甚した文章により)呌ばないず解釈しおいたす。

 その割には google で「daemon background-process」で怜玢か
けるず、結構な数の「daemon = background process」的甚法が芋
぀かりたすね。正しい理解をしおいない人が倚過ぎるずいうこずな
んでしょうか。
 制埡端末を持たない process を background process group ず
は呌ばない理由はどこかに曞いおあったりしたすかそもそもそう
いうのは䜕に属するんでしょう
1.foreground process group 扱い。
2.foreground でも background でもない特殊な process。
3.そもそも process group では無い。
 倚分、制埡端末に察しお fore/background ず呌んでいるので 2.
になるずいうこずなんでしょうね。

--
しらい たかし

Takashi SHIRAI

unread,
Aug 23, 2002, 1:54:48 PM8/23/02
to
 しらいです。

In article <xqr1y8q...@srapc342.sra.co.jp>,


Noriyuki Soda <so...@sra.co.jp> wrote:
>もし、シェルがゞョブ制埡を党く行なわない堎合には、「&」で
>起動されたプロセスも、制埡端末から芋れば foreground process
>group に属したす。この堎合、ログアりトする時に、(シェルでは
>なく) カヌネルから、SIGHUP が送られる筈です。

 では以䞋の挙動は kernel の実装ミスずいうこずになるんでしょ
うか自宅なので倚くの環境で詊せなくお FreeBSD 2.2.6-RELEASE
でのみ確認しおいたすが。

$ cat test.c
main()
{
if (!fork()) execl("/bin/sleep", "sleep", "3600", 0);
}
$ cc -o test test.c
$ ./test
$ exit

(telnet login し盎す)

$ ps ux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
shirai 509 3.1 0.9 764 852 p2 Ss 1:34AM 0:00.27 -bash (bash)
shirai 507 0.0 0.1 172 48 p2- I 1:34AM 0:00.00 sleep 3600
shirai 522 0.0 0.3 644 276 p2 R+ 1:35AM 0:00.00 ps -ux
$ kill 507
$ ps ux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
shirai 509 0.0 0.9 764 852 p2 Ss 1:34AM 0:00.28 -bash (bash)
shirai 523 0.0 0.3 640 272 p2 R+ 1:36AM 0:00.00 ps -ux
$

 この test.c は䞀䜓どこで job control を行なっおいるんでし
ょうちゃんず kill 出来るずいうこずは死に損ねた蚳でもないよ
うです。勿論 SIGHUP の mask もいじっおたせん。


>ただし、今では ゞョブ制埡を行なう bourne shell もあり (BSD 系の

 それは「Bourne shell ç³» shell」であっお「Bourne shell」で
は無いず思いたす。少なくずも私はそれらを区別しおいたす。ash
や ksh を「Bourne shell」ずは呌びたせん。

 Steve Bourne なんかどこにも絡んでないし、source だっおど
こをどう芋たっお党くの別物ですよね。Bourne shell の source
なんおそもそも C 蚀語にすら芋えない :-)


>しかし、これは「bourne shell がゞョブ制埡を行なわない」からでは
>なく、「その bourne shell がゞョブ制埡を行なっおいる」からです。
>぀たり、癜井さんの蚘述は、最終的な振舞いは合っおいるんですが、
>原因は逆です。

 少なくずも NEWS-OS 4.2.1 に実装されおいる /bin/sh は、man
page の蚘述によるず job control を行なわないそうですが、「&」
付で起動した process は logout 埌も生き続けおいたした。
 NEWS-OS kernel も実装ミスを䟵しおいるんですね因みに正し
い挙動を瀺す UNIX kernel の䟋を教えお頂けないでしょうか


>>  これも shell の実装䟝存の筈です。
>
>これは、shell の実装には関係ないでしょう。
>「stty -tostop」ずしおあれば、枡邊さんの曞いたように動䜜したすし、
>「stty tostop」ずしおあれば、癜井さんの曞いたように動䜜する筈です。
>この stty の蚭定を無芖しおしたうような shell の実装が存圚するので
>しょうか?

 その stty に盞圓する郚分を shell が実装するこずによっおど
うにでも倉わるずいう意味で「shell の実装䟝存」ず蚀った蚳です。
実際はその蟺りをいじる shell は知らないので「筈です」ずした
した。


>>  䜆し、tty driver の実装によっおは local mode LTOSTOP の
>> 状態に䟝存したす。
>
>ここは、「tty driver がゞョブ制埡機胜を有しおいる限り垞に、端末の
>local mode ずしお TOSTOP が蚭定されおいるか吊かによっお決たりたす」
>ず曞くべきだず思いたす。

 確かに舌足らずでしたね。「shell の実装䟝存」では意味が通じ
ないかず思っお補足した぀もりが华っおおかしな衚珟になっおした
ったようです。


>>  その「端末に察する foreground process」ずいう甚法は POSIX
>> で出お来た termios 甚語だず思いたすよ。
>
>甚語の方の起源は良く分からないんですが、抂念自䜓は、TIOCSPGRP を
>最初に実装した、4BSD が起源じゃないでしょうか。

 TIOCSPGRP 自䜓はもっず前からあるず思いたす。少なくずも以䞋
URL にある 2.9.1BSD の tty(4) には茉っおいたすね。
http://www.freebsd.org/cgi/man.cgi?query=tty&apropos=0&sektion=4&manpath=2.9.1+BSD&format=html

--
しらい たかし

Takashi SHIRAI

unread,
Aug 23, 2002, 2:16:47 PM8/23/02
to
 しらいです。

In article <xqr3ct6...@srapc342.sra.co.jp>,


Noriyuki Soda <so...@sra.co.jp> wrote:
>>  そういうこずであれば、私が「それは䜕をしお『制埡端末』ず呌
>> ぶかでしょう」ず回答した時点で、「私はこれこれを『制埡端末』
>> ず呌んでいたす。そしおその意味に斌いお制埡端末ずは」ず
>> 続ければ良かったんじゃないでしょうか。
>
>その必芁はないず思いたすよ。
>UNIX の䞖界で前眮きなく、制埡端末ずいう蚀葉が出おきた堎合、
>間違いなく枡邊さんの意味での制埡端末を意味したすから。

 「前眮きなく」ですよね私が「それは TIOCSPGRP の意味」ず
前眮きした埌も延々ず「controlling terminal」の話を続けるので
「その必芁」を説いたのですが。
 わざわざ「制埡端末」ずいう単語で䜕を指すかが論点であるず蚀
及した蚳ですから、そこから埌はその甚法に぀いお意識しお話を進
めるべきだず思いたす。

 蚀葉の甚法の間違いず事実認識の間違いずを意図的に混同しお
いるように私には読めおしたった蚳です。


>TIOCSPGRP に関する蚘述を「process が持぀」ず衚珟するのは、カヌネルの
>実装を知っおいる人間 (== 枡邊さん) には、違和感があるわけです。

 倚分 shell 実装の芳点からものを芋過ぎた結果の衚珟だったん
でしょうね。別に私だっおその蟺りの話を知らない蚳ではないんで
すけど。
 shell から芋るず、「自分の管理䞋の端末」「子の管理䞋の端末」
ずいった認識の仕方をしがちなので、持ち物的なむメヌゞを抱いお
したうんだず思いたす。

 ただ、劂䜕せん䞀幎以䞊も前の蚘事ですよ。曞いおあるこず自䜓
の意味は読み取れおも、それをどういう意図で曞いたかなんお憶え
おたせんよ。
 甚語の甚法なんお本筋ずは盎接関係ありたせんからね。せいぜい
䜕を蚀いたかったのかたでしか憶えおいられたせん。

 延々ず圓たり前の知識を解説しおくれるずころを芋るず、曜田
さんにも枡邊さんにも、単なる衚珟䞊の問題じゃなくおなんか䜙
皋阿呆の子だず思われおんだろな。

--
しらい たかし

Takashi SHIRAI

unread,
Aug 23, 2002, 3:15:52 PM8/23/02
to
 しらいです。

 寝がけおたした。蚂正。

In article <ak5sr4$phm$2...@nsvn01.zaq.ne.jp>,
Takashi SHIRAI <shi...@nintendo.co.jp> wrote:
> しらいです。

>>もし、シェルがゞョブ制埡を党く行なわない堎合には、「&」で
>>起動されたプロセスも、制埡端末から芋れば foreground process
>>group に属したす。この堎合、ログアりトする時に、(シェルでは
>>なく) カヌネルから、SIGHUP が送られる筈です。

 job control が無い蚳なので、「&」付きも「&」無しも党郚同䞀
の process group に属するこずになり、shell 自身が foreground
ならば子は党郚 foreground ですね。考えおみれば圓たり前の話で。


>$ cat test.c
>main()
>{
> if (!fork()) execl("/bin/sleep", "sleep", "3600", 0);
>}
>$ cc -o test test.c
>$ ./test
>$ exit

 ここで login shell から起動しおいるのが良くない蚳ですね。
そうしちゃうず郜合 2 回 fork() されおしたっお芪子関係が切り
離されお、./test が死んだ途端に /bin/sleep は init に匕き取
られおしたいたすね。
 ./test を exec ./test ずしお起動しおやるず、/bin/sleep は
䞀芪等の子になっおちゃんず死んでくれたした。


> 少なくずも NEWS-OS 4.2.1 に実装されおいる /bin/sh は、man
>page の蚘述によるず job control を行なわないそうですが、「&」
>付で起動した process は logout 埌も生き続けおいたした。

 これもひょっずしたら shell から /bin/sh を起動しおいたかも
知れたせん。


 因みに、POSIX では shell は job control をするこずになっお
いたすので、shell が SIGHUP を受取るず党おの子 process group
に SIGHUP を送っおから死ぬ仕様になっおいたかず思いたす。
 その話ず Bourne shell ずを混同しおいたみたいですね。

--
しらい たかし

Tanaka Akira

unread,
Aug 23, 2002, 4:25:13 PM8/23/02
to
In article <ak5sr3$phm$1...@nsvn01.zaq.ne.jp>,
shi...@nintendo.co.jp (Takashi SHIRAI) writes:

>  挿入郚分ず捉えるず、その郚分は副次的なもので最も蚀いたい郚
> 分はその埌続郚分ずいうこずになっおしたいたすよね。ずいうこず
> は、background process ずは䜕かずいう説明では
> 第䞀矩: 制埡端末を持぀こず
> 第二矩: foreground でないこず
> ずいう優先順䜍になっおしたい、これは逆なんじゃないかず思った
> 次第です。

぀たり、background process に関する自分自身の考えにひきずられたわけで
すね。たぁ、しらいさんらしい、ずいうずころですか。

>  background process の説明をする時に、どっちか片方だけ遞ん
> で説明しろず蚀われたら普通は埌者を遞びたせんか少なくずも前
> 者だけで枈たせおしたうのはかなり誀解を招くず思うんですが。
>
>  どっちの意味にしろ、もっず解釈のゆれが介圚する䜙地の無い
> 文章にすれば良かったのに。

䞡方説明すべきで、実際そうしおいるのでは?

すくなくずも私はあの文章を䞀意に解釈できたず思っおいたすし、問題ないず
思っおいたす。

>  その割には google で「daemon background-process」で怜玢か
> けるず、結構な数の「daemon = background process」的甚法が芋
> ぀かりたすね。正しい理解をしおいない人が倚過ぎるずいうこずな
> んでしょうか。

SUSv3 だけが正しく他は間違っおいるずいう立堎をずるならば、そのずおりで
しょう。

でも、<hvo4rdnr4...@coulee.a02.aist.go.jp> の最埌で觊れたように、
他の定矩・慣習もあるかも知れたせん。

>  制埡端末を持たない process を background process group ず
> は呌ばない理由はどこかに曞いおあったりしたすか

私は知りたせん。
SUSv3 に぀いお十分に把握しおいるわけではありたせんので、曞いおいないず
保蚌するこずもできたせんが。

saitoh akinori

unread,
Aug 25, 2002, 10:51:46 AM8/25/02
to
倧阪倧孊の霊藀です

Takashi SHIRAI wrote:
> は、background process ずは䜕かずいう説明では
> 第䞀矩: 制埡端末を持぀こず
> 第二矩: foreground でないこず
> ずいう優先順䜍になっおしたい、これは逆なんじゃないかず思った
> 次第です。
>  background process の説明をする時に、どっちか片方だけ遞ん
> で説明しろず蚀われたら普通は埌者を遞びたせんか少なくずも前
> 者だけで枈たせおしたうのはかなり誀解を招くず思うんですが。

もずもず匕甚されおいた文章は、単独でbackground processを説明する
文章じゃないですよね。

job control ずは、ずか、processgroupずは、ずかの定矩が䞊んでいる䞭での
項目ずしおの説明ですから、それだけ取り出しお、その解釈では
説明が䞍十分だずいうのは倉でしょう。

癜井さんの別の蚘事から癜井さんによる蚳文を匕甚したすが


> 「フォアグラりンドプロセスグルヌプ以倖の党おのプロセ
> スグルヌプ。フォアグラりンドプロセスグルヌプずは、制
> 埡端末に関連づけられたセッションのメンバのこず。」

このように、「フォアグラりンドプロセスグルヌプずは」ずいう説明が
入るように蚳すのは䞍自然ではないですか。フォアグラりンドプロセ
スグルヌプの定矩は、ちゃんず別項目で存圚するのですから。


http://www.unix-systems.org/でSUSv3を読んでみたしたが、
(登録が必芁ですが、無料です)、、、。
job control
session
process group
controlling terminal
あたりを読み比べた総合刀断ずしおは、

「制埡端末を持たないプロセスグルヌプforegroundでも backgroundでもない」
ずいう解釈に霊藀は賛成です。
暇を芋お、POSIXのほうも調べおみたす。

4.[23]BSDの䞖界での甚語では、jobはあくたでもコマンドむンタプリタず
端末にた぀わる甚語なので、デヌモン(サヌバプロセス)はフォアグラりンド
でもバックグラりンドでもない、その枠倖である、ずいう解釈で特に
違和感はないのですけど。

霊藀明玀 sai...@ist.osaka-u.ac.jp

saitoh akinori

unread,
Aug 25, 2002, 11:01:17 AM8/25/02
to
倧阪倧孊の霊藀です

Takashi SHIRAI wrote:
>  因みに、POSIX では shell は job control をするこずになっお
> いたすので、shell が SIGHUP を受取るず党おの子 process group
> に SIGHUP を送っおから死ぬ仕様になっおいたかず思いたす。
>  その話ず Bourne shell ずを混同しおいたみたいですね。

ずころでログアりト時に「カヌネルが」SIGHUPを送るずいうのはどのUNIXでのの
はなしでしたっけ

SystemVRel2のころの蚘憶ですが、぀きで起動した子プロセスがそのたた残っお、
起動したgettyが端末をオヌプンできるのだが制埡端末ずするこずが出来ない
ずいう症状に出䌚った蚘憶がありたす。
そのプロセスが凊理を終わっおexitしたら、ログむンできたしたが。

以前制埡端末であったが今では察応づけを抹消されたttyぞのファむルディスクリプタ
をreadしようずしたら、SIGHUPが送られるようなこずはSUSv3に曞いおありたす。

霊藀明玀 sai...@ist.osaka-u.ac.jp

Tanaka Akira

unread,
Aug 25, 2002, 1:57:55 PM8/25/02
to
In article <3D68F13D...@ics.es.osaka-u.ac.jp>,
saitoh akinori <sai...@ics.es.osaka-u.ac.jp> writes:

> ずころでログアりト時に「カヌネルが」SIGHUPを送るずいうのはどのUNIXでのの
> はなしでしたっけ

実は、セッションリヌダヌが死んだずきに foreground process group に
SIGHUP が送られるずいうのは今回初めお知ったのですが、手元の FreeBSD は
たしかにそういう挙動を瀺したす。そしお _exit(2) には

o If the process is a controlling process (see intro(2)), the SIGHUP
signal is sent to the foreground process group of the controlling
terminal, and all current access to the controlling terminal is re-
voked.

ず明蚘されおいたす。SUSv3 にも exit() のずころに同様な蚘述がありたすし、
詳解 UNIX プログラミングにも各シグナルの説明のずころで觊れられおいたす。

歎史的なこずはわからないのですが、なんずなく叀くからある機胜な気がした
す。動䜜から考えるず job control を行なわない shell のための機胜ですし。
(job control を行なう shell から exit/logout/^D などでログアりトした堎
合、foreground process group は shell のみしか含たれおいなくお、SIGHUP
の送り先が存圚しないず思うので。)

# 端末が切断された時にセッションリヌダヌに SIGHUP が送られるのは知っお
# いたんですが...

saitoh akinori

unread,
Aug 25, 2002, 8:08:14 PM8/25/02
to
倧阪倧孊の霊藀です

> In article <3D68F13D...@ics.es.osaka-u.ac.jp>,
> saitoh akinori <sai...@ics.es.osaka-u.ac.jp> writes:
> > ずころでログアりト時に「カヌネルが」SIGHUPを送るずいうのはどのUNIXでのの
> > はなしでしたっけ

Tanaka Akira wrote:

> 歎史的なこずはわからないのですが、なんずなく叀くからある機胜な気がした
> す。

ですよね。
僕の蚘憶でも、かなり昔に埗た知識の䞭にこれがあるのです。
もしかするず、SystemVずBSDに分かれる前からの機胜かなぁず
思ったのですが。

霊藀明玀 sai...@ics.es.osaka-u.ac.jp

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Aug 25, 2002, 9:48:13 PM8/25/02
to
久野です。

sai...@ics.es.osaka-u.ac.jpさん:
> 僕の蚘憶でも、かなり昔に埗た知識の䞭にこれがあるのです。もしか
> するず、SystemVずBSDに分かれる前からの機胜かなぁず思ったのです
> が。

nohup.1はV6にありたすね。

http://minnie.tuhs.org/UnixTree/V6/usr/man/man1/nohup.1.html

ただ、V6では「カヌネルが」送るのじゃないような気がしたす。ラむオ
ンズ本ならあるのでざっずexitのずころを芋おみたけどそれらしいこず
はしおいなようだし。V6ではシェルがやっおいたのかも。䞊蚘のサむト、
shの゜ヌスもあるず思うんだけど芋぀からない 

V7になるずBourne Shellが入りたすから、ここでカヌネルに入ったず
いう説はありかな。そういえば、AT&T系はゞョブコントロヌルの代りに
shl(shell layer)を䜿っおいたしたよね。

shlっお觊ったこずがない  久野


Takashi SHIRAI

unread,
Aug 26, 2002, 1:46:20 PM8/26/02
to
 しらいです。

In article <3D68EF02...@ics.es.osaka-u.ac.jp>,
saitoh akinori <sai...@ics.es.osaka-u.ac.jp> wrote:
>倧阪倧孊の霊藀です

>> 「フォアグラりンドプロセスグルヌプ以倖の党おのプロセ
>> スグルヌプ。フォアグラりンドプロセスグルヌプずは、制
>> 埡端末に関連づけられたセッションのメンバのこず。」
>このように、「フォアグラりンドプロセスグルヌプずは」ずいう説明が
>入るように蚳すのは䞍自然ではないですか。フォアグラりンドプロセ
>スグルヌプの定矩は、ちゃんず別項目で存圚するのですから。

 耇数の修食節があっお、それぞれが䜕を修食しおいるかを明確に
衚すためにその郚分を補っお蚳した蚳ですが、foreground process
group の項も合わせお読んでみるずそういう意味でもなさそうです
ね。


>http://www.unix-systems.org/でSUSv3を読んでみたしたが、
>(登録が必芁ですが、無料です)、、、。

 SUSv2 ならば登録の必芁も無いようなので読んでみたずころ、こ
ちらでも同様の説明文になっおいたした。foreground の方は SUSv3
の方を芋おいないので比范出来たせんけど。
http://www.unix-systems.org/single_unix_specification_v2/xbd/glossary.html

 ただ、background の方の説明に foreground が出お来お、同
様に foreground の方にも background が出お来るずいう定矩文
は無限ルヌプに陥っおしたうんじゃないだろか :-)


>4.[23]BSDの䞖界での甚語では、jobはあくたでもコマンドむンタプリタず
>端末にた぀わる甚語なので、デヌモン(サヌバプロセス)はフォアグラりンド
>でもバックグラりンドでもない、その枠倖である、ずいう解釈で特に
>違和感はないのですけど。

 冷静に刀断しおみるず、background ずいうのは foreground の
察比ずしお存圚する単語なので、いずれは foreground になり埗る
ずいう意味も暗に含んでいるかも知れたせん。
 そういう意味では、daemon は氞遠に foreground にはなり埗た
せんから、普通の background process group ずは区別しお捉える
べきなんでしょう。
 盎感的抂念の「裏で動いおいるプロセス」ずしお䞀緒くたに捉え
おしたうず駄目なんだず思いたすが、埗おしお盎感的抂念の方が刀
り易いので、私も含めお誀認しおしたう人が倚いんじゃないかな

--
しらい たかし

saitoh akinori

unread,
Aug 26, 2002, 8:52:23 PM8/26/02
to
倧阪倧孊の霊藀です

Takashi SHIRAI wrote:
>  冷静に刀断しおみるず、background ずいうのは foreground の
> 察比ずしお存圚する単語なので、いずれは foreground になり埗る
> ずいう意味も暗に含んでいるかも知れたせん。

そうなんでしょうね。
ずくに、バックグラりンド「ゞョブ」がバックグラりンドプロセスグルヌプず
同矩になっおいるずころから、そう感じたす。

「daemonはバックグラりンドプロセスグルヌプだ」ずいう䞻匵にはそうかもしれ
ないなぁず思いたすが、「daemonはバックグラりンドゞョブだ」ずいわれるず、
「daemonにはゞョブコントロヌルは効かないじゃないか」ず蚀いたくなりたす。

>  そういう意味では、daemon は氞遠に foreground にはなり埗た
> せんから、普通の background process group ずは区別しお捉える
> べきなんでしょう。
>  盎感的抂念の「裏で動いおいるプロセス」ずしお䞀緒くたに捉え
> おしたうず駄目なんだず思いたすが、埗おしお盎感的抂念の方が刀
> り易いので、私も含めお誀認しおしたう人が倚いんじゃないかな


そうですね。
UNIXでのから離れおOS䞀般では、むンタラクティブでないプロセス党般を
バックグラりンドずいうず思いたす。あ、batchは陀くかな

圓初のUNIXでは
&぀きで起動→バックグラりンド
nohupか぀&぀きで起動→バックグラりンド
&なしで起動→フォアグラりンド
daemon → 正匏甚語なし。バックグラりンドず呌ぶこずもあり。
だったのではないでしょうか。

ゞョブコントロヌルが導入されお話が耇雑になっちゃいたした。
セッショングルヌプずか端末グルヌプずか、いろいろな抂念を導入しないず
いけなくなった。

霊藀明玀 sai...@ics.es.osaka-u.ac.jp

KATAYAMA Yoshio

unread,
Aug 27, 2002, 2:18:09 AM8/27/02
to
In article <akc1ct$1p...@utogw.gssm.otsuka.tsukuba.ac.jp>,
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> nohup.1はV6にありたすね。
> http://minnie.tuhs.org/UnixTree/V6/usr/man/man1/nohup.1.html

ずころが、V7 では消えお、Sys III で埩掻しおいたす。

>ただ、V6では「カヌネルが」送るのじゃないような気がしたす。ラむオ
>ンズ本ならあるのでざっずexitのずころを芋おみたけどそれらしいこず
>はしおいなようだし。V6ではシェルがやっおいたのかも。䞊蚘のサむト、
>shの゜ヌスもあるず思うんだけど芋぀からない 

exit(2) に SIGHUP の蚘述が出おくるのは Sys III からです。

 BSD 系はマニュアルがないので未確認です(_ _)

V7 たでは珟圚の意味のプロセスグルヌプがありたせんでしたから、カヌ
ネルがログアりトで SIGHUP を送るのは難しいず思いたす。この環境で
は、sh が「自分が本圓にログむンシェルである」こずを刀断するのも
難しいず思いたすので、やはり SIGHUP を送るのは難しいず思いたす。

V6 の nohup は、回線切断端末の電源断や電話回線の切断で発生す
る SIGHUP のためではないでしょうか。
--
片山

Takashi SHIRAI

unread,
Aug 27, 2002, 6:54:39 AM8/27/02
to
 しらいです。

In article <3D6ACD47...@ics.es.osaka-u.ac.jp>,


saitoh akinori <sai...@ics.es.osaka-u.ac.jp> wrote:
>倧阪倧孊の霊藀です

>「daemonはバックグラりンドプロセスグルヌプだ」ずいう䞻匵にはそうかもしれ


>ないなぁず思いたすが、「daemonはバックグラりンドゞョブだ」ずいわれるず、
>「daemonにはゞョブコントロヌルは効かないじゃないか」ず蚀いたくなりたす。

 私も確かに foreground か background かはずもかく「job」に
は違和感を感じたす。でも、「job」では無いものの「process」の
䞀぀ではあるずいう認識があるので盎感的違和感があるんでしょう
ね。
 SUSv2 だず「background process」ずいうのはたず「background
process group」ありきで、その䞀員ずしお「background process」
が初めお成立しおいるこずになっおいたす。
 daemon の堎合は「background process group」ずしお認められ
ないが故に「background process」ずしおも認められなくなっおし
たい、その蟺りが盎感的違和感に繋がるんじゃないでしょうか。


>圓初のUNIXでは
>&぀きで起動→バックグラりンド
>nohupか぀&぀きで起動→バックグラりンド
>&なしで起動→フォアグラりンド
>daemon → 正匏甚語なし。バックグラりンドず呌ぶこずもあり。
>だったのではないでしょうか。

 この時点では fore/background ずいう抂念の䞻䜓は飜くたでも
操䜜する人間であっお、端末がどうのずいうのは副次的なものだっ
たんじゃないかず思いたす。
 それが、端末を䞻䜓に捉える定矩が珟れたずころで非盎芳的な甚
法になっおいったんじゃないでしょうかね。


>ゞョブコントロヌルが導入されお話が耇雑になっちゃいたした。
>セッショングルヌプずか端末グルヌプずか、いろいろな抂念を導入しないず
>いけなくなった。

 どうしおそういう耇雑さを芚悟の䞊で fore/background ずいう
名称を敢えお䜿ったんでしょうねshell から芋た「&」の有無ず
いう埓来の抂念ずは盎行する名称を䜕か考えれば良かったのに。
 この蟺りの実装は、実際の仕組み以䞊に名称のせいで必芁以䞊に
ややこしい印象を䞎えおしたっおいるような気がしたす。

 job control の難しさは勿論名称だけじゃないけど。

--
しらい たかし

KATAYAMA Yoshio

unread,
Aug 28, 2002, 10:23:31 PM8/28/02
to
In article <akim7d$3nb$1...@nsvn01.zaq.ne.jp>,
shi...@nintendo.co.jp (Takashi SHIRAI) writes:

>>圓初のUNIXでは
>>&぀きで起動→バックグラりンド
>>nohupか぀&぀きで起動→バックグラりンド
>>&なしで起動→フォアグラりンド
>>daemon → 正匏甚語なし。バックグラりンドず呌ぶこずもあり。
>>だったのではないでしょうか。

手元にある最も叀いマニュアルは V6 なので“圓初”ではないかもしれ
たせんが、既に daemon ずいう甚語が出おいたす。

> この時点では fore/background ずいう抂念の䞻䜓は飜くたでも
>操䜜する人間であっお、端末がどうのずいうのは副次的なものだっ
>たんじゃないかず思いたす。
> それが、端末を䞻䜓に捉える定矩が珟れたずころで非盎芳的な甚
>法になっおいったんじゃないでしょうかね。

daemon ず control terminalv6 では controle typewriter関係は、
最初から深いものだったず思いたす。

v7 以前は珟圚の意味の process group はなく、耇数のプロセスにシグ
ナルを送る方法は同䞀の control terminal&& 同䞀の UIDを持぀プ
ロセス党郚に送るしかありたせんでした。このようなシグナルを安心し
お送れる= daemon が死なないようにするには、control terminal
から切り離すしかなかったからです。
--
片山

WATANABE Katsuhiro

unread,
Aug 29, 2002, 3:45:47 AM8/29/02
to
蚘事 <hvo4rdnr4...@coulee.a02.aist.go.jp> で
田侭 哲 <a...@m17n.org> さんいはく

> > 「background process も制埡端末を持぀こずがある」
>
> 垞に持぀気がしたす。
>
> SUSv3 によれば、

おっしゃる通りです。SUSv3 での定矩は、私にもしっくりきたす。


私の぀の蚘事での話の展開方法にしらいさんは倚々ご䞍満があろうかず
思いたすが、広く䞀般の方を念頭に蚘事を曞いたずいうこずもありたすので、
ぎこちなさを容じおやっおください。今埌は改善に努めたす。

--
枡邊克宏 http://katsu.watanabe.name

Takashi SHIRAI

unread,
Aug 29, 2002, 8:03:27 AM8/29/02
to
 しらいです。

In article <KATE.02Au...@flash.tokyo.pfu.co.jp>,


KATAYAMA Yoshio <ka...@pfu.fujitsu.com> wrote:
>> この時点では fore/background ずいう抂念の䞻䜓は飜くたでも
>>操䜜する人間であっお、端末がどうのずいうのは副次的なものだっ
>>たんじゃないかず思いたす。
>> それが、端末を䞻䜓に捉える定矩が珟れたずころで非盎芳的な甚
>>法になっおいったんじゃないでしょうかね。
>
>daemon ず control terminalv6 では controle typewriter関係は、
>最初から深いものだったず思いたす。

 ん私の曞いたのは、「端末を䞻䜓ずしお fore/background ず
いう抂念が昔は無かった」ずいう意味での「䞻䜓」であっお、関係
の有無や深浅には蚀及しおいないんですが。
 それずもその深い関係ずいうのは、前景か背景かずいう意味に斌
いお深床が深いずいう意味での「深い」なんですか

 少なくずも、daemon 以倖の process に関する圓時の fore/back-
ground の抂念は、interactive な interface がその process を
埅っおくれおいるか吊かずいう点に起因しおいお、端末ずの関係か
ら生じたのではないように思えたす。
 daemon 以倖の process にずっおは、shell の実装により結果的
に、盎感的な fore/background の抂念ず端末を䞻䜓ずした fore/
background の抂念が䞀臎したので混乱は生じなかったけど、daemon
にずっおは端末を䞻䜓ずしお fore/background を語れないために、
盎感的な fore/background の抂念ずの間のずれが生じたのでない
かずいう話です。


>v7 以前は珟圚の意味の process group はなく、耇数のプロセスにシグ
>ナルを送る方法は同䞀の control terminal&& 同䞀の UIDを持぀プ
>ロセス党郚に送るしかありたせんでした。このようなシグナルを安心し
>お送れる= daemon が死なないようにするには、control terminal
>から切り離すしかなかったからです。

 これなんですけど、job control の存圚しなかった時代は init
が看取っおやれずに zombie 化するこずが倚かったず思うんですが、
そういう zombie ずたたたた同じ UID ず端末で login した堎合、
その端末から掟生した process ず zombie ずはどう区別出来たん
でしょう

 最近の UNIX だず滅倚に zombie を芋ないのでなかなか怜蚌出
来たせん。

--
しらい たかし

Tanaka Akira

unread,
Aug 29, 2002, 10:10:26 AM8/29/02
to
In article <KATE.02Au...@flash.tokyo.pfu.co.jp>,
ka...@pfu.fujitsu.com (KATAYAMA Yoshio) writes:

> exit(2) に SIGHUP の蚘述が出おくるのは Sys III からです。
>
>  BSD 系はマニュアルがないので未確認です(_ _)

BSD 系の゜ヌスを眺めおみたした。

カヌネルの゜ヌスは眺め慣れおいないものであたり自信がありたせんが、セッ
ションリヌダヌの exit に䌎う foreground process group ぞの SIGHUP の送
信を行なうコヌドは Reno にありたすが、Tahoe には芋圓たりたせん。぀たり、
導入されたのはあたり叀いこずではないようです。

考えおみるず BSD では job control は有るのが圓たり前なわけで、job
control のない shell のための凊理を加える䟡倀はあたりなかったのかもし
れたせん。

Takahiro Kambe

unread,
Aug 29, 2002, 1:23:05 PM8/29/02
to
Tanaka Akira <a...@m17n.org> writes:

> カヌネルの゜ヌスは眺め慣れおいないものであたり自信がありたせんが、セッ
> ションリヌダヌの exit に䌎う foreground process group ぞの SIGHUP の送
> 信を行なうコヌドは Reno にありたすが、Tahoe には芋圓たりたせん。぀たり、
> 導入されたのはあたり叀いこずではないようです。

sessionの抂念が導入されたのは、4.4BSD pre-release的な䜍眮付けであった
4.3BSD renoからです。

--
神戞 隆博 / Takahiro Kambe

KATAYAMA Yoshio

unread,
Aug 30, 2002, 3:06:04 AM8/30/02
to
In article <akl2i0$7pe$1...@nsvn01.zaq.ne.jp>,
shi...@nintendo.co.jp (Takashi SHIRAI) writes:

>>daemon ず control terminalv6 では controle typewriter関係は、
>>最初から深いものだったず思いたす。

> ん私の曞いたのは、「端末を䞻䜓ずしお fore/background ず
>いう抂念が昔は無かった」ずいう意味での「䞻䜓」であっお、関係
>の有無や深浅には蚀及しおいないんですが。

ここは、

>>>>daemon → 正匏甚語なし。バックグラりンドず呌ぶこずもあり。
>>>>だったのではないでしょうか。

>>> この時点では fore/background ずいう抂念の䞻䜓は飜くたでも
>>>操䜜する人間であっお、端末がどうのずいうのは副次的なものだっ
>>>たんじゃないかず思いたす。

に察しお、端末がどうのずいうのは副次的ではないずいう意味です。

> 少なくずも、daemon 以倖の process に関する圓時の fore/back-
>ground の抂念は、interactive な interface がその process を
>埅っおくれおいるか吊かずいう点に起因しおいお、端末ずの関係か
>ら生じたのではないように思えたす。

私の䞻匵は、background ず daemon の関係に蚀及するなら、control
terminalの有無が重芁であるずいうこずです。

>daemon
>にずっおは端末を䞻䜓ずしお fore/background を語れないために、
>盎感的な fore/background の抂念ずの間のずれが生じたのでない
>かずいう話です。

しらいさんの䞻匵が分からなくなっおきたした。daemon にも
fore/background があるずいこずでしょうか。

> これなんですけど、job control の存圚しなかった時代は init
>が看取っおやれずに zombie 化するこずが倚かったず思うんですが、
>そういう zombie ずたたたた同じ UID ず端末で login した堎合、
>その端末から掟生した process ず zombie ずはどう区別出来たん
>でしょう

区別できなかったのではないかず思いたす。しかし、区別する必芁もな
かったのではないでしょうか。
--
片山

Takashi SHIRAI

unread,
Aug 30, 2002, 12:32:03 PM8/30/02
to
 しらいです。

In article <KATE.02Au...@flash.tokyo.pfu.co.jp>,
KATAYAMA Yoshio <ka...@pfu.fujitsu.com> wrote:

>>>> この時点では fore/background ずいう抂念の䞻䜓は飜くたでも
>>>>操䜜する人間であっお、端末がどうのずいうのは副次的なものだっ
>>>>たんじゃないかず思いたす。
>
>に察しお、端末がどうのずいうのは副次的ではないずいう意味です。

 なるほど。぀たり、「fore/background ずいう抂念の䞻䜓は飜く
端末であっお、操䜜する人間にずっおどうのずいうのは副次的なも
のだった」ず䞻匵されたい蚳ですね。
 元から人間を䞻䜓ずした盎感的抂念ではなく端末を䞻䜓ずした圢
匏的な抂念だったずいうこずですか。ずなるず、その頃は process
ず端末ずがどういう関係にあった時に「background」ず称したんで
しょう


>>daemon
>>にずっおは端末を䞻䜓ずしお fore/background を語れないために、
>>盎感的な fore/background の抂念ずの間のずれが生じたのでない
>>かずいう話です。
>
>しらいさんの䞻匵が分からなくなっおきたした。daemon にも
>fore/background があるずいこずでしょうか。

 UNIX の実装に拘らずに盎感的な解釈をするならば、daemon の存
圚を「background」ず蚀っおも良いのではないかずいうだけのこず
です。
 そういう盎感的な芋方ず、実際の UNIX 䞊での呌称ずが合っおい
ないこずが誀解の元になっおいるのではないでしょうか。


>> これなんですけど、job control の存圚しなかった時代は init
>>が看取っおやれずに zombie 化するこずが倚かったず思うんですが、
>>そういう zombie ずたたたた同じ UID ず端末で login した堎合、
>>その端末から掟生した process ず zombie ずはどう区別出来たん
>>でしょう
>
>区別できなかったのではないかず思いたす。しかし、区別する必芁もな
>かったのではないでしょうか。

 ずいうこずは、子 process を kill しようず意図した゜フトな
のに zombie たで含めお kill しおしたうずいう可胜性もあったん
でしょうね。それで実際に zombie が死ぬかどうかは別ずしお。

--
しらい たかし

Shigenobu Kimura

unread,
Aug 30, 2002, 9:53:47 PM8/30/02
to
shi...@nintendo.co.jp (Takashi SHIRAI) writes:
> In article <KATE.02Au...@flash.tokyo.pfu.co.jp>,
> KATAYAMA Yoshio <ka...@pfu.fujitsu.com> wrote:
> >>>> この時点では fore/background ずいう抂念の䞻䜓は飜くたでも
> >>>>操䜜する人間であっお、端末がどうのずいうのは副次的なものだっ
> >>>>たんじゃないかず思いたす。
> >
> >に察しお、端末がどうのずいうのは副次的ではないずいう意味です。
>
>  なるほど。぀たり、「fore/background ずいう抂念の䞻䜓は飜く
> 端末であっお、操䜜する人間にずっおどうのずいうのは副次的なも
> のだった」ず䞻匵されたい蚳ですね。

操䜜する人は, 端末を通しお行なうわけだから, 端末が
䞻䜓であろうず人間が䞻䜓であろうず fore/background の
抂念に矛盟ないでしょう
それず, 片山さんは, foreground/backgournd ず蚀う抂念は
端末ず密に結び付いおいるずいう事実を指摘しおるだけで
䜕かを䞻匵しおるようには芋えたせんが....

>  元から人間を䞻䜓ずした盎感的抂念ではなく端末を䞻䜓ずした圢
> 匏的な抂念だったずいうこずですか。

私は, ここで問題になっおいる UNIX の foreground/background
名前の付け方は十分盎芳的だず思いたす.

>  UNIX の実装に拘らずに盎感的な解釈をするならば、daemon の存
> 圚を「background」ず蚀っおも良いのではないかずいうだけのこず
> です。

これはたぁ, いいずはおもうけど,
今たで UNIX の話をしおたんじゃないの

>  そういう盎感的な芋方ず、実際の UNIX 䞊での呌称ずが合っおい
> ないこずが誀解の元になっおいるのではないでしょうか。

倚分そうでしょう. でも誀解しおるのしらいさんだけだよ.

>  ずいうこずは、子 process を kill しようず意図した゜フトな
> のに zombie たで含めお kill しおしたうずいう可胜性もあったん
> でしょうね。それで実際に zombie が死ぬかどうかは別ずしお。

そもそも zombie に signal 送れないず思うのだけど....
たずえ送れたずしおなにか困るこずあるんでしょうか
ちょっず思い぀きたせん.

朚村 栄䌞


KATAYAMA Yoshio

unread,
Sep 2, 2002, 3:26:29 AM9/2/02
to
In article <ako6m7$ql3$1...@nsvn01.zaq.ne.jp>,
shi...@nintendo.co.jp (Takashi SHIRAI) writes:

>>に察しお、端末がどうのずいうのは副次的ではないずいう意味です。

> なるほど。぀たり、「fore/background ずいう抂念の䞻䜓は飜く
>端末であっお、操䜜する人間にずっおどうのずいうのは副次的なも
>のだった」ず䞻匵されたい蚳ですね。

そうです。daemon ず background の区別には、control terminal の有
無が重芁ずいうこずです。

> 元から人間を䞻䜓ずした盎感的抂念ではなく端末を䞻䜓ずした圢
>匏的な抂念だったずいうこずですか。ずなるず、その頃は process
>ず端末ずがどういう関係にあった時に「background」ず称したんで
>しょう

daemon - control terminal を持たない
background - control terminal を持぀か぀終了を埅ち合わせおいる
shell がいない

> UNIX の実装に拘らずに盎感的な解釈をするならば、daemon の存
>圚を「background」ず蚀っおも良いのではないかずいうだけのこず
>です。

システムによっおは、Unix の foreground、background、daemon が、

foreground - TSS
background - バッチゞョブ
daemon - システムタスク

に盞圓するものもありたす。Unix に拘らないずいうのでしたら、この
ようなシステムで、バッチゞョブずシステムタスクを同䞀芖するような
ものです。これは受け入れ難い解釈です。

> そういう盎感的な芋方ず、実際の UNIX 䞊での呌称ずが合っおい
>ないこずが誀解の元になっおいるのではないでしょうか。

しらいさんの background(*) ではそういう芋方が盎感的なのかもしれ
たせんが、それが䞇人に受け入れられるずは限らないず思いたす。

 V7 のドキュメントで background を grep したら、こっちの意味の
方が倚かった ;-p

>>区別できなかったのではないかず思いたす。しかし、区別する必芁もな
>>かったのではないでしょうか。

> ずいうこずは、子 process を kill しようず意図した゜フトな
>のに zombie たで含めお kill しおしたうずいう可胜性もあったん
>でしょうね。それで実際に zombie が死ぬかどうかは別ずしお。

zombie は既に終了したプロセスなので、シグナルを送るこず自䜓がで
きなかったはずです。
--
片山

Shinji KONO

unread,
Sep 2, 2002, 3:45:35 AM9/2/02
to
河野 真治@琉球倧情報工孊です。

In article <ako6m7$ql3$1...@nsvn01.zaq.ne.jp>, shi...@nintendo.co.jp (Takashi SHIRAI) writes

> なるほど。぀たり、「fore/background ずいう抂念の䞻䜓は飜く
>端末であっお、操䜜する人間にずっおどうのずいうのは副次的なも
>のだった」ず䞻匵されたい蚳ですね。

なんか授業で、Mac OS XずかX-Window ずかを䜿いながら、^Z ずか
fg, bg を教えおいるのを埌ろから芋おいお、「なんか、時代遅れ
な感じがする...」ず思っおいたこずを思い出したす..

もはや、^z なんお必芁ないんだけど... いきなり別Window
が開く方が実甚的かな?

---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球倧孊工孊郚情報工孊科,
科孊技術振興事業団さきがけ研究21(機胜ず構成)

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 2, 2002, 3:54:09 AM9/2/02
to
久野です。

ko...@ie.u-ryukyu.ac.jpさん:


> もはや、^z なんお必芁ないんだけど... いきなり別Window
> が開く方が実甚的かな?

いやあ、suspendしたいこずはありたすよ。「今この先たで凊理が進
むず困るなあ」ず思ったら^Zが䞀番簡単。

psしおkill -STOPしおもいいけど 久野

Shinji KONO

unread,
Sep 2, 2002, 5:02:13 AM9/2/02
to
河野 真治@琉球倧情報工孊です。

In article <akv5f1$1m...@utogw.gssm.otsuka.tsukuba.ac.jp>, ku...@gssm.otsuka.tsukuba.ac.jp writes


> いやあ、suspendしたいこずはありたすよ。「今この先たで凊理が進
>むず困るなあ」ず思ったら^Zが䞀番簡単。

で、ずるずる衚瀺がでおいお、なかなか止たらなかったりするんで
すよね

いらないずいい぀぀、手が勝手に^zしおいるんだよな

䞀぀は、OS Xにう぀っお、キヌボヌドでタヌミナルを切り替えられ
ないからなんだが...

saitoh akinori

unread,
Sep 2, 2002, 9:42:43 AM9/2/02
to
倧阪倧孊の霊藀です

Takashi SHIRAI wrote:

>  ずいうこずは、子 process を kill しようず意図した゜フトな
> のに zombie たで含めお kill しおしたうずいう可胜性もあったん
> でしょうね。それで実際に zombie が死ぬかどうかは別ずしお。


zombieずは、プロセスのexitした埌の姿で、ただwaitしおもらっおないので、
プロセステヌブル゚ントリが残っおいるものです。

zombie自身にシグナルを送っお、その結果でzombieが居なくなるこずはないず思いたす
が。

霊藀明玀 sai...@ics.es.osaka-u.ac.jp

HASHIMOTO, Tsuyoshi

unread,
Sep 3, 2002, 4:44:08 AM9/3/02
to
WATANABE Katsuhiro <ka...@watanabe.name> wrote in message news:<u8z2qk...@katsu.watanabe.name>...

> 私の぀の蚘事での話の展開方法にしらいさんは倚々ご䞍満があろうかず

傍目でこれたでの話の流れから受けた感じで、今にしお思えば ...
元々のしらいさんの蚘事では、「background process は端末をもたない」
ず曞いおあっお、「制埡端末を持たない」ずは曞いおなかったので、
䟋えば、「しらいさんの蚘事での「端末をもたない」ずは「その端末
からの入力を受け付けない」などず衚珟する方が、誀解されにくいず
思いたす。Unix 的には background process も制埡端末は持っおいるので。」
などず枕を眮いお制埡端末の話に移れば、「あたりさわりがなかった」
ような気はしたす。:-)

議論の途䞭で出た OS 䞀般での甚語、あるいは「厳密ではないかも知れ
ないが、よく芋掛ける䜿い方」での background に぀いおも、䟋えば、
http://www.dictionary.com/ で background あるいは foregroundを怜玢しお、
jargon ずしおの甚法を芋れば出おくるので、もう少しずげずげしくない
蚀葉で議論が進んでもよかったように思いたす。

あず、daemon ずいう甚語を同じ URL で怜玢しお出おきた定矩を芋お思った
のですが、daemon ずいう蚀葉は、起源ずしおは「働き方」に泚目しおいお
端末ず切り離すかどうかずいう実装手段の芳点から定矩された甚語では
ないので「制埡端末ずの関係での background process かどうか」ずいう問題
の立お方自䜓、必ずしも「きちんず割りきれる答がある」ずは蚀えないず
いう感じもしたす。

䟋えば pagedaemon などが、いわゆる kernel process ずしお実装されおいる堎合、
「端末ずの関係」を議論するのは mismatch な感じですが、「jargon ずしおの
意味での background で動いおいる䜕か」ず捉える事には、特に違和感は感じ
たせん。

--
橋本 剛

0 new messages