しらいしです。
>繰り返しますが,*ふつうのテキストデータ*ですので,getchar() で読むなら,
>while ((c = getchar()) != EOF) { /* 処理 */ }
>です.
>Perl なら,
>while (<>) { }
>ですね.
># 厳密に言えば,read() システムコールが 0 を返すまで,ということかな
そっか。
「メールのデータだから」なんて余計なことを考えていました。
でも、パイプでつながれて入ってくるから、普通に考えればいいのかな。
>Perl でやるのがいいとおもいます.楽ですよ.
>(プロセス間通信とかをやろうとかならなおさら楽)
>シェルだけでもできるとは思いますが,こういうことこそ,Perl でやるべき
>ことだと思います.
>長く使うこととかを考えると,たとえ1からPerlを勉強したとしても,
>Cでぜんぶやるより楽に作れるでしょう.
そうなんですか?!
Perlは全然経験がないので、どういうものなのか、普通にCやシェルで
組むよりも良い!という利点がよく分かりません。
これから早速ホームページや本を読み漁って勉強してみようと
思うのですが、もし簡単に説明できるようなことなら、どういった点で
Perlがお得なのか教えて頂けないでしょうか?
>ここまでする必要は無いのでは? と思います.
>ただ単にプロセスAが目的の作業を行えばいいのではないのでしょうか?
>リアルタイム,というのが理由なのかな?
そうですね・・。
確かにすべての処理をプロセスAが行ってもよいのですが、そうすると
処理が盛りだくさんになってしまうのです。
メールで応答を返したり、エラーチェックを行ったり、
ファイルを読んだり、共有メモリのテーブルを更新したり。
それだけならまだいいのですが、さらに別プロセスを生成することに
なっていて、このプロセスからの終了通知をメッセージキューで受けることに
しているのです。
それで、メールを受信するだけのプロセスを1つ(実際は複数生成されるけれど)、
メッセージキューを受信するだけのプロセスを1つ作ろうと思ったのです。
あとは、速度が重視されるので、受信したメールは一刻も早く読み、
別プロセスによって行った処理の結果を一刻も早く送信する、という
こともプロセスを分けた理由の1つです。
>あとセキュリティには十分注意する必要がありますね.
>/etc の下は読まれないようにするとか.
そうですね。
このあたりも注意するように致します。
どうもありがとうございました。
----
しらいし ひろみ catmoon _at_ pluto.dti.ne.jp
Follow-Ups:
- [linux-users:72153] Re: 受信メールを自動的に読む方法Hirokazu Nomoto
- [linux-users:72179] Re: 受信メールを自動的に読む方法hsakai
- Prev by Subject: [linux-users:72134] Re: [linux-users:72103] Re: ttyS1がNo Such Device(3)
- Next by Subject: [linux-users:72136] Re: Kernel の エラーメッセ ージについて
- Previous by thread: [linux-users:72131] Re: 受信メールを自動的に読む方法
- Next by thread: [linux-users:72153] Re: 受信メールを自動的に読む方法
- Indexes:[Main][Thread]