68user's page 掲示板

Prev< No. 3021〜3026> Next  [最新発言に戻る] [過去ログ一覧]
No. 3021 # 68user 2003/01/09 (木) 12:53:44
>>3020 ピョンタン
% ls -lT
% ls --fulltime -l
% perl -e 'printf "%d\n", (stat("/foo/bar/baz"))[9]'

などなど。

No. 3022 # ピョンタン [E-mail] 2003/01/09 (木) 16:24:16
お返事ありがとうございました。>No.3021
大変助かりました。
もう少しだけ教えてください。
%ls -fulltime -l
で確認することができましたが、
参考書や、Webで検索しても
の「fulltime」の引数指定意味がよくわかりません。
しかも、私は
×"--fulltime"
○"-fulltime"
で、なんとなくうまくいきました。
本当にお手数をおかけしますが、あともう少しなので
教えて下さい。どうかよろしくお願いします。

No. 3023 # 68user 2003/01/09 (木) 22:19:01
      % ls --fulltime -l

      % ls --full-time -l
の間違いでした。

>>3022 ピョンタン
> ○"-fulltime"
お使いの OS に興味があります。OS の名前を教えてください (てゆーか
質問する際に OS や環境を明示してくださいね)。

意味については
        % man ls
に説明があるはずです。

No. 3024 # テクノソルジャー 2003/01/10 (金) 15:15:07
初めまして、お世話になります。
68userさんのページのhttp-proxy
http://x68000.startshop.co.jp/~68user/net/http-proxy.html
をhttpポートフォワーダーに改造して使わせてもらっている物です。
Linuxですが、、連続して稼動させているとTOP表示でMEM使用率が上がって行きます(50%超え)、いろいろ手を加えてみましたが、未だにこのMEM増加を改善できませんでした。
そこでこれをforkを使ったechoサーバを参考にfork版に修正しました。
while (my $sock = $sock_waiting->accept){
        my $pid = fork();
        my $cpid = $pid ;
        if ($pid!=0) {
    close($sock) ;
    next ;#parlent process
        }
        print " FROM Browser. Accept $sock.\n";
        #Child process
        my ($buf,$request);
        while (1){
                my $brs = sysread($sock, $buf, 10000);
                $request .= $buf;
                if ($brs) {
                        last ;
                }
        }
        print " FROM Browser. Read OK.\n";
        ここに転送先サーバ側とのソケット作成と受信&ブラウザへの返信を記述
        print " FROM Browser. Finished.\n";
        close($sock);
        print " FROM Browser. process End \n";
        exit ;
}

の様に子プロセスのexit文もいれました。なのにpsで見ると、、
hoge 19438 12855 0 14:55 pts/21 00:00:00 perl http-proxy2.pl
hoge 19578 19438 0 14:55 pts/21 00:00:00 [perl <defunct>]
hoge 19579 19438 0 14:55 pts/21 00:00:00 [perl <defunct>]
hoge 19580 19438 0 14:55 pts/21 00:00:00 [perl <defunct>]
hoge 19581 19438 0 14:55 pts/21 00:00:00 [perl <defunct>]
アクセスした分この様なプロセスが残りっぱなしになります。
当然大元スクリプトを停止すればプロセスは消えます。
どうか宜しくご意見ください。

No. 3025 # 68user 2003/01/11 (土) 00:22:35
>>3024 テクノソルジャー
> hoge 19578 19438 0 14:55 pts/21 00:00:00 [perl <defunct>]
> アクセスした分この様なプロセスが残りっぱなしになります。
wait していないからです。以前指摘をいただいたのですが、時間が
とれず手付かずになっています (申し訳ない)。
>>2584 persianopeh
をどうぞ。

> 連続して稼動させているとTOP表示でMEM使用率が上がって行きます(50%超え)
どうもオリジナル版のバグっぽいですね。久々に使ってみましたが、
確かにメモリ使用量がだんだん増えていきました。調べておきます。

# と言っても暇がない〜。

No. 3026 # 68user 2003/01/11 (土) 00:38:38
>>3024 テクノソルジャー
> 連続して稼動させているとTOP表示でMEM使用率が上がって行きます(50%超え)
コネクションを切断しても %conn_table_rev が IO::Socket::INET の
オブジェクトを指しているみたいです。

あと、%conn_table もキーが増えつづけるようです (値は undef かな?)
%conn_table_rev ほどではありませんが (一回あたり数十バイトくらい
でしょうか)、メモリリークなのは確かですね。

なので、remove_contable で適切にハッシュを delete してやればよい
のかもしれませんが、明日も仕事なのでこの辺で… (´・ω・`)

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