68user's page 掲示板

Prev< No. 1488〜1491> Next  [最新発言に戻る] [過去ログ一覧]
No. 1488 # Qさいとう [E-mail] 2000/12/21 (木) 16:23:39
マルチプロセスがよく分かっていませんので お願いします ...
今fork関数を使い,二つのプロセス, 1)表示画面にイヴェントが発生したら処理するプロセスと 2)時間監視を行っているプロセス  を作成しました. 2)は,ある時間の条件でXtOpenDisplayでメッセージ画面が表示し,OKボタンが押させるか画面右上のXボタンが押されると,メッセージ画面が消えます.しかし,メッセージ画面が複数個,表示されるのに,一画面を消去するだけで,全てのメーッセージ画面が消去されてしまいます. その為,複数プロセスにしよう ー 3つのメッセージ画面が表示されたら,3つのプロセスが
動いている − フ゜ロク゛ラムを作成中なのですが,3つ出力されればいいのに6つ(3つx2回)出力されたり,.... 何か簡単に作成できる方法はないでしょうか? execl命令などを使わずに簡単にできませんでしょうか.

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 1489 # rosegarden 2000/12/21 (木) 17:43:28
>>1487 68user さん
>安直ですが、MD5 っぽい salt を渡すのはどうでしょう
なるほど、salt をかえればいいんですね。言われて見れば、
確かにそうですね。もっとも、言われるまでは気が付きませんでしたが。
どうもありがとうございました。

No. 1490 # 68user 2000/12/21 (木) 21:47:15
>>1488 Qさいとう
> 今fork関数を使い,二つのプロセス,
>  1)表示画面にイヴェントが発生したら処理するプロセスと
>  2) 時間監視を行っているプロセス
> を作成しました.
X サーバとの通信の実態は、ソケット経由でのデータのやりとりです。
大抵は (同一ホスト内なら) /tmp/.X11-unix/X0 経由です。
# つまり UNIX ドメインソケットを使う。

で、ソケットを作成したあと fork して、複数のプロセスが
ソケット共有するのは多分うまくいかないでしょう。
# そういう構成であるとは書いてありませんので推測ですが。

クライアント→サーバは OK かもしれませんが、サーバ→
クライアントのデータは親プロセスか子プロセスのどちらに
渡るかが決まっていないからです。

というわけで、そもそも構成がまずいと思います。1プロセスで
できませんか? Xt は知らないのですが、何かコールバック関数を
登録できる仕組みがあると思います。

仮に複数プロセスでやるとしても、X サーバと接続する前に
fork して、片方は X サーバとの通信、もう片方は監視などと
役割分担し、両プロセスの間はパイプやシグナルやソケット経由で
やりとりすべきでしょう。

>>1487 68user
>> よければ、こちらの方にURLを教えていただけないでしょうか?
> はい、後ほど送ります。
あ、まだ送ってなかったかもしれない。今日明日はちょっと
無理かもしれないので、すいませんが気長にお待ちくださいませ。

No. 1491 # 酒井 [E-mail] 2000/12/22 (金) 17:53:48
「UNIXの部屋」で

telnet リモートホストにログインする  という項目がありました。


ここで 自動的にログインし、自動的にコマンドを実行するには sleep の項のサンプルを参照。
                (コマンド sleep *)

とありますが、sleepの項では、下記のようになってます。


                sleep 指定秒数だけ動作を止める
                5分間 (300秒) 動作停止するには

                % sleep 300

                とする。sleep コマンドは、スクリプトの中で使うことが多い。

                % ( echo username ; sleep 1 ; echo password ; sleep 1 ; echo ls ; sleep 1 ) | telnet foo.bar.com

                なんてこともできたりする。

                (日本語マニュアル sleep)


実際に自動的にログインし、自動的にコマンドを実行したい場合はどうすれがいいのでしょうか


誠に勝手なお願いですが、ぜひ教えてください。

Prev< No. 1488〜1491> Next  [最新発言に戻る] [過去ログ一覧]