68user's page 掲示板

Prev< No. 129〜144> Next  [最新発言に戻る] [過去ログ一覧]
No. 129 # クーロンで苦労!? 1999/02/08 (月) 09:14
68userさんへ
ありがとうございます。
参考にさせて頂き、もうちょっとやってみます。

No. 130 # M.Masuda 1999/02/12 (金) 15:54
こんにちは。

CGI実行中のバッファのフラッシュについてなんですが。

具体的には、あるサーバーのログ20Mb以上を圧縮して取り出すのに、

CGIで圧縮ファイルを生成→生成されたファイルをDownLoadする。

というCGIで、全ての処理にかなり時間が掛るのと、ブラウザの
TimeOutをさける為に、処理過程を画面に出力しながら処理を続け
る動作のスクリプトです。

$|=1でバッファのフラッシュを指定できますよね。
確かに、シェル上で直接実行すると動作の確認が出来ましたが、
ブラウザ上から実行すると、スクリプトが全て終わってからでない
と画面に出力されません。

他で聞いたところによるとサーバー(Apacheです)が、CGIの処理が
終わらないとダメみたいです。

ただ、その際STDOUTをクローズすると出力されると言っていたので
、実験しましたがダメでした。
#close後は出力されない

また、ある程度の出力(環境で違うらしい)が溜まるとWebサーバー
がバッファをフラッシュするとも書いてありましたが(未確認)、
無駄な出力をさせたくありません。

なにか、いい方法は無いでしょうか?


>いや〜、おそらくLinuxにもjmanはありますよ。僕はLinux知らないけど、
>ないはずがないと思います。
見つけたんですが、ローカルコンソール(本体)上でxの仮想コンソール?
からなら表示できるんですが、telnetで指定するとmanを表示している?
lessが2バイト文字に対応してないみたいで、読めません。(; ;)
jmanってコマンドですよね、それも無いです。(T_T)
#そもそもtelnet上のmanで日本語表示はダメなんでしょうか?
#ちなみにtelnetは Tra Termを使ってます。

>> REMOTE_PORT
いやーパケットモニターで生の通信内容見てると、結構勉強になります
セキュリティーとかいろんな事の考え方も変わりますね。

No. 131 # 68user 1999/02/12 (金) 17:07
つまり、処理結果を小だしに表示させてタイムアウトを防ぎたいわけですね。
http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi などはそのように
できていますね。僕も前に疑問に思って質問したのですが、結局ローカルでは
うまくいきませんでした。

で、そういう場合はnphスクリプトを試してみてはいかがでしょうか。とほほさんの
webに解説があったはずです。

> #close後は出力されない
そうですね。closeするとコネクションは切れます。


> lessが2バイト文字に対応してないみたいで、読めません。(; ;)
FreeBSDではjlessというのがあり、環境変数でLESSCHARSETなどを
設定する必要があります。Linuxもそういうのはないですか?

> jmanってコマンドですよね、それも無いです。(T_T)
んー、そのサーバを誰が管理しているのか知りませんが、
ただ単にインストールしてないだけ、ってことはありませんか?

誰かLinux使いの方いません?(^^;

No. 132 # masuda@excel-net.co.jp 1999/02/13 (土) 00:26
>http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi など
>はそのようにできていますね。僕も前に疑問に思って質問したのです
>が、結局ローカルでは うまくいきませんでした。
これって見てみたんですが、わかりませんでした。(T_T)
#この行だけ見て、暫く解析してたり発言をみていたので時間食って
#しまった!

>で、そういう場合はnphスクリプトを試してみてはいかがでしょうか。
>とほほさんのwebに解説があったはずです。
この行を、後で見直して思い出しました。
これって解説ページを後で試そうとブックマークに入れっぱなしでし
た。
後日試してみます。
#誰かホントに1日を30時間に....(エーかげんにしなさい!?)

>> lessが2バイト文字に対応してないみたいで、読めません。(; ;)
> FreeBSDではjlessというのがあり、環境変数でLESSCHARSETなどを
> 設定する必要があります。Linuxもそういうのはないですか?
j*シリーズは私の探したところ見つかりませんでした。(; ;)x2
#どうもJフレンドリーなのはFreeBSDの方が上手みたいですね。
でも日本語マニュアル

>んー、そのサーバを誰が管理しているのか知りませんが
だれも管理してなかったりして。(^^ゞ
セキュリティーのため詳しくは書けませんが、非常に恐いサーバで
す。
#いろ〜んな意味で。

>ただ単にインストールしてないだけ、ってことはありませんか?
そうかもしれないけど、仮にパッケージには入っていてもインスト
ールしてまでは弄れないだろうなぁ。
試験環境として自由に触らせてもらってはいるけど、これ以上私に
は言えない...。

でもここ、
http://www.jp.freebsd.org/man-jp/search.html
よく出来てるんで、利用させてもらいます。
どうもです。(^_^)V

No. 133 # ABCDEFG 1999/02/13 (土) 18:17
こん**は

>>j*シリーズは私の探したところ見つかりませんでした。(; ;)x2
こちらかと
http://www.linux.or.jp/jman/

LANGがja_JP.ujisなら
/hoge/man/ja_JP.ujis以下検索しますよーん

No. 134 # 1999/02/13 (土) 20:11
どうもです、68userさん。(^^ゞ

>で、そういう場合はnphスクリプトを試してみてはいかがでしょうか。
>とほほさんのwebに解説があったはずです。
やってみました。おかげで思うとおりの結果が得られました。
ありがとうございました。
これで忘れられてたブックマークもうかばれるでしょう。笑

ちょっと試験でいろいろやってみましたが、これってhttpサーバーが
リクエストに対して(GETやHEAD等)を判断して返す処理と同じ事を、
CGI側で行なうって事なんですね。
と言う事は、Apacheでサポートしていない(と思う)DELETEとかOPTIONS
を指定するとnphのCGIでいろんな事出来そうですね。
#でもちゃんとセキュリティーを考えないと恐いけど(^^ゞ


ありがとうございます。>ABCDEFGさん。
>>j*シリーズは私の探したところ見つかりませんでした。(; ;)x2
よく探したら有りました!
#なんて探しかたの悪いやっちゃ(^^ゞ

http://www.linux.or.jp/jman/
これってうれしすぎる!!!

そのついでといっちゃなんですが、その環境を使えるようにする方法を
教えては頂けないでしょうか。
#調子よすぎかな!?(^^ゞ

つまり、自分の環境でj*環境を使う方法です。
最初からの設定で、シェルはbashを使っています。
環境ファイルは ~/.bashrcデスよねぇ。
ここにどんな記述をすればいいのか教えてくれるとうれしいです!

今の設定はこうなっています。
$ more ~/.bashrc
# .bashrc

# User specific aliases and functions
# Japanese environment setting.

if [ $TERM = "kterm" ] || [ $TERM = "kon" ]; then
      LANG="ja_JP.ujis"
else
      LANG="C"
fi

export LANG

alias ls='ls -F --color=yes'

# Source global definitions
if [ -f /etc/bashrc ]; then
                . /etc/bashrc
fi

↑ここまでです。
シェルはあんまり勉強してないので、人に教わったlsのalias行を
追加したぐらいで、構文の意味はぜんぜん分かりません。
#多分jmanpath=hogehogeとかやるんでしょうね。

日本語のマニュアルが使えれば今までの苦労も少しは....(^_^)V

No. 135 # M.Masuda 1999/02/13 (土) 23:51
すいません、今度は名前の書き忘れだ〜
下の書込みは私です。
m(_ _)m

No. 136 # M.Masuda 1999/02/14 (日) 00:17
すいませんも一つ質問です。
/var/log/messagesに、
sun last message repeated 3 times
というメッセージが5分置きくらいに出力されるんですが、
これって何か分かります?
#質問2でした。(^^ゞ

No. 137 # 68user 1999/02/14 (日) 02:26
>>で、そういう場合はnphスクリプトを試してみてはいかがでしょうか。
> やってみました。おかげで思うとおりの結果が得られました。
おお、そうですか。僕はnphは一度も試したことはなかったりするんですが…(^^;

> sun last message repeated 3 times
普通に英語を読めば「前回と同じメッセージが3回出力された」ということで、
/var/logl/messagesのその前の行を見ればいいと思います。
# と、ずっと思ってたんだけど違うかな?

No. 138 # てんぽられす 1999/02/14 (日) 03:58
わたくしUNIX初心者も初心者というかwin95ユーザでありまして
プロバにtelnetで繋いでUNIX気分を味わっているもんでございます。
まったくwin95とは違いまして「こんぴゅーたをさわっている」って
いう気分を満喫している(だけ)ところでございます。

コマンドがいろいろ載っていて、たのしゅうございます。
これからも続けてくださいましね。たよりにしております。であ。

No. 139 # ABCDEFG 1999/02/14 (日) 16:52
ネコミでの書き込みがなんかおかしい とほほ
ブラウザかえようかな
68user(X68K?)さんはふだん何つかってます?

>M.Masudaさん
.profileか.bashrcに
export MANPATH=/hoge/man:$MANPATH
export JLESSCHARSET=japanese
hogeはman-pages-ja-0.4.tar.gz をinstallした所です
おそらくman less groffは日本語化されてるんじゃないかなー
man manで日本語表示出来なければ管理者に頼むしかなさそう(笑)

No. 140 # 68user 1999/02/15 (月) 15:07
> コマンドがいろいろ載っていて、たのしゅうございます。
どもども。「ここがわかりにくい」などのご意見がありましたら
ぜひ教えてください。

> ブラウザかえようかな
> 68user(X68K?)さんはふだん何つかってます?
学校ではNN3.04、家ではNC4.04です。まぁ一長一短ですねぇ。
早くMozilla5でないかな…。

No. 141 # ABCDEFG 1999/02/15 (月) 16:21
>だれも管理してなかったりして。
ありゃ・・そうだったんですか
となるとログのメッセージは・・・

No. 142 # 68user 1999/02/15 (月) 16:49
> となるとログのメッセージは・・・
全ユーザがrootになることができて、みんなでよってたかって管理してるとか(^^;

No. 143 # ABCDEFG 1999/02/15 (月) 17:49
>全ユーザがrootになることができて、みんなでよってたかって管理してるとか(^^;
むむむ・・何かトラブッてそうですね(^^;;;

No. 144 # M.Masuda 1999/02/15 (月) 22:10
どうもです。68userさん、ABCDEFGさん。

あれっ遂にチャットになってしまったか?(^^ゞ

ABCDEFGさんどうもです。
DOSの頃はコンソールと言うか、CUIにはなれずついFDとかのツール類を
使っていましたが、なんとUNIXのしぇるの使いやすい事!

おまけに、DOSの頃はコマンド類の使い勝手が悪くツール同士も相性を
考えて使わないと...。

>>M.Masudaさん
> .profileか.bashrcに
> export MANPATH=/hoge/man:$MANPATH
> export JLESSCHARSET=japanese
> hogeはman-pages-ja-0.4.tar.gz をinstallした所です
> おそらくman less groffは日本語化されてるんじゃないかなー
> man manで日本語表示出来なければ管理者に頼むしかなさそう(笑)

試しました。
あんまり時間が無く全部はやってみてないですが、man manだけは
ちゃんと日本語マニュアルが表示されました。
68userさん、ABCDEFGさんどうもありがとうございました。
#setコマンドでは、LANG=Cとなっているんだけどいいのかなぁ?

>だれも管理してなかったりして。
そうなんです。私が一応rootにはなれるんですが、ここの環境は
前にクラックにあっているサーバーが直ぐ近くに(ネットワーク上)
在るのに、誰もログをチェックしないし、ログインすら月に1度
位なんです。

私は、httpdの再起動をやったりするためにrootになれるんですが、
恐いので一応secureとかmessagesとかを、たまに確認しています。
しかし、私にはUNIXのスキルが無いので何か有っても対処法を知り
ません。(; ;)
最大の防御はイーサーのケーブルを抜くくらいだったりして。(^^ゞ
#でもこのサーバーDHCP立ってるんだよなぁ。

例の sun last message repeated 3 times ですが、
このメッセージのみが5分おき位に続けて出ています。
>普通に英語を読めば「前回と同じメッセージが3回出力された」ということで、
> /var/logl/messagesのその前の行を見ればいいと思います。
本日は12:28〜20:08まで5分おきにあり、現在は止まっています。
だけど、これ以外はさっき言ったdhcpのログ位です。
もしかしてアタック?でもsecureには特にメッセージも出てないん
ですよ。他にはチェックするところがわからなしい...。


ところで、前の話題のFileLockですが、私の入っているメーリングリ
ストでこんな例がありました。いかがなもんでしょうかね?

$file_lock = 'LOCK';
$file_seq = 'SEQ';

open(LOCK, ">> $file_lock") || die;
alarm(60);
flock(LOCK, 2) || die;
if (open(SEQ, $file_seq)) {
        $seq = <SEQ> + 1;
        close(SEQ);
} else {
        $seq = 1;
}
open(SEQ, "> $file_seq.new") || die;
print SEQ $seq;
close(SEQ);
rename("$file_seq.new", $file_seq) || die;
close(LOCK);
alarm(0);

alarmって使った事無いんだけど、この場合目覚まし時計がなると
制御はどうなるのだろう?
サブルーチンとかに飛ばす場合は、シグナルハンドラの罠を仕掛け
とくのですか?
前例のように $SIG{HUP}=$SIG{INT}=$SIG{QUIT}=\&finish; とか。

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