|
EWSのデバイス情報(CPUのクロック数、メインメモリ)を知ることができる UNIXコマンドがありましたら、教えて下さい。 |
|
perlでネットワークプログラムを試作してます。 echoをC/Sで動作する事は出来るようになりましたが、ファイルを ネットワーク越しに転送するにはどうすればいいのでしょうか? 同じくperlによるC/Sです。 |
|
はじめまして。 echoサーバーサンプルを参考にしてPerlでちょっとしたチャットサーバーなんかを作ってます。 そこでいきなり質問なんですが、PerlでBroken Pipeエラーを回避するようにできないでしょうか? Broken Pipeとは存在しないソケットに対して書き込んでしまったときにでるエラーのようで、クライアントが強制切断してしまったときなどは回避できません。 どうにか皆様のお知恵をお借りできませんでしょうか。 |
|
あけましておめでとうございます。kikiです。 本年もよろしくお願い致します。 >>68user様 ずいぶんと古い話で申し訳ありませんが、 >>2956 の解決策をためそうとしましたところ、 1. PATH=../../../../../../../home/foo/bar:$PATH とする。 カレントディレクトリの階層があまりに深くなければ、これでいける。 が、どういう事を意味するのかわかりませんでした。 そして、これはどこで行うのでしょうか? suトロイの実行前の準備としてでしょうか? ご教授よろしくお願いします。 P.S. PATH=.:$PATH にしておくき、suトロイがおいてある場所で、suコマンドを打ち込むと suトロイが実行され、もう一度suコマンドを打つと しっかり/bin/suが実行されますが、 suトロイがおいてある場所以外で同じことをしようとすると suトロイは実行されず、いきなり/bin/suが 実行されました。 コマンドを探す順番は、カレントディレクトリからということでしょうか。 うーん、調べてみます。 |
|
今年こそはちゃんと web を更新するぞ、と。 てなわけで、今年もよろしくお願いします。 >>3009 ELVIS >>3010 しましま 少なくとも僕はわかりません。申し訳ない。 >>3011 とむやむ > ファイルをネットワーク越しに転送するにはどうすればいいのでしょうか? 以下のやりとりが参考になるでしょうか。 >>2827 Tetsu >>2828 68user ftp クライアントと ftp サーバを作るもよし、自分でプロトコルを 決めるもよし、ということです。 >>3012 HIGE > PerlでBroken Pipeエラーを回避するようにできないでしょうか? SIGPIPE をキャッチしてください。使用例はこちら。 http://x68000.startshop.co.jp/~68user/net/http-proxy.html >>3013 kiki > PATH=../../../../../../../home/foo/bar:$PATH とする。 カレントディレクトリが /dir1/dir2/dir3 であるとき、 ../ は /dir1/dir2 です。 ../../ は /dir1 です。 ../../../ は / です。 ../../../../ は / です。 ../../../../../ は / です。 ../../../../../home は /home です。 ../../../../../home/foo は /home/foo です。 ../../../../../home/foo/bar は /home/foo/bar です。 ってことです。 > PATH=.:$PATH > コマンドを探す順番は、カレントディレクトリからということでしょうか。 . はカレントディレクトリですから。 |
|
>>3007 68user ご回答ありがとうございます。 やはり、ファイルに同時書き込みをするにはロック、もしくはそれに相当する制御は欠かせませんね。 素直にsyslogを使用すれば良いのですが都合でsyslogは使用できません。 頂いた参考URL等を参考にしながら対策を検討します。 |
|
★ \(^o^)v 大 発 見 !♪ 〜♪ とっても 参考にさせて頂いて ♪ ~~\(^o^)♪ 〜 夢 と 希望 が 叶いました〜♪ (^o^)/~~ ありがとう |
|
もし、ご存知であれば教えてください。 ファイルの日付を比較して新しいほうのファイルを表示したいです。 サーバが異なる場所(ネットワークには接続できる)に、 それぞれファイルが存在するします。 同じマシンであれば、>find file1 -newer file2 -print で表示されるのです。remshで実行しようとしてもうまくいきません。 ご教授お願いいたします。 |
|
AIX上でファイル内の先頭行と最終行を削除したいのですが UNIXコマンドで行を指定して削除することはできないのでしょうか? ※C言語の処理内で行いたいのでsystem関数で可能な方法 もしご存知であれば教えてください。 よろしくお願いします。 |
|
>>3017 ピョンタン remsh でリモートのファイルのタイムスタンプを表示して、ローカルの 方より若ければ rcp するか、とりあえず別のファイル名で rcp して、 ローカルで比較するか、てな感じで。 >>3018 kenken > AIX上でファイル内の先頭行と最終行を削除したいのですが % tail +2 < file | ??? | tail +2 | ??? でいけた記憶があります。??? はファイルの内容を逆順にする コマンドですが、なんだったっけなー。ど忘れしました。 % cat -n file | tail +2 | sort -r | tail +2 | sort | sed 's/^.......//' てな方法もあります。 まぁファイルサイズが大きいなら perl か awk でさくっと書いた方が よいでしょう。 |
|
ご回答ありがとうございます。 大変助かります。>No.3019(NO3017についての回答) もうひとつ教えてください。ファイルの タイムスタンプを取得するのに、 (1)Jan 9 2001 ← 2001/01/09 (2)Dec 10 13:56 ← 2002/12/10 (3)Jun 1 15:00 ← 2003/01/01 というふうに統一性がありません。 特に、(2),(3)だったらどうやって比べればいいのでしょうか? 申し訳ありませんが教えて下さい。 |
|
>>3020 ピョンタン % ls -lT % ls --fulltime -l % perl -e 'printf "%d\n", (stat("/foo/bar/baz"))[9]' などなど。 |
|
お返事ありがとうございました。>No.3021 大変助かりました。 もう少しだけ教えてください。 %ls -fulltime -l で確認することができましたが、 参考書や、Webで検索しても の「fulltime」の引数指定意味がよくわかりません。 しかも、私は ×"--fulltime" ○"-fulltime" で、なんとなくうまくいきました。 本当にお手数をおかけしますが、あともう少しなので 教えて下さい。どうかよろしくお願いします。 |
|
% ls --fulltime -l は % ls --full-time -l の間違いでした。 >>3022 ピョンタン > ○"-fulltime" お使いの OS に興味があります。OS の名前を教えてください (てゆーか 質問する際に OS や環境を明示してくださいね)。 意味については % man ls に説明があるはずです。 |
|
初めまして、お世話になります。 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>] アクセスした分この様なプロセスが残りっぱなしになります。 当然大元スクリプトを停止すればプロセスは消えます。 どうか宜しくご意見ください。 |
|
>>3024 テクノソルジャー > hoge 19578 19438 0 14:55 pts/21 00:00:00 [perl <defunct>] > アクセスした分この様なプロセスが残りっぱなしになります。 wait していないからです。以前指摘をいただいたのですが、時間が とれず手付かずになっています (申し訳ない)。 >>2584 persianopeh をどうぞ。 > 連続して稼動させているとTOP表示でMEM使用率が上がって行きます(50%超え) どうもオリジナル版のバグっぽいですね。久々に使ってみましたが、 確かにメモリ使用量がだんだん増えていきました。調べておきます。 # と言っても暇がない〜。 |
|
>>3024 テクノソルジャー > 連続して稼動させているとTOP表示でMEM使用率が上がって行きます(50%超え) コネクションを切断しても %conn_table_rev が IO::Socket::INET の オブジェクトを指しているみたいです。 あと、%conn_table もキーが増えつづけるようです (値は undef かな?) %conn_table_rev ほどではありませんが (一回あたり数十バイトくらい でしょうか)、メモリリークなのは確かですね。 なので、remove_contable で適切にハッシュを delete してやればよい のかもしれませんが、明日も仕事なのでこの辺で… (´・ω・`) |