|
> 読みこみ専用でオープンしてるのにflock()のオペレーションが「2」って どうなんですかね。ちゃんと書きこみモードでオープンしなきゃだめですか?? 読み込みモードで「2」だと、Solarisではflockが利かないようです。「1」なら大丈夫です。わたしのページですが、Perlの排他制御についてまとめてあります。 http://homepage1.nifty.com/glass/tom_neko/web/web_04.html |
|
@YOUさん もう解決してらっしゃるかもしれませんが・・・ wsock32.lib(もしくはws2_32.lib)をリンクしてみてください。 もうひとつ、WinMainが未解決だって言われてるのは、 プロジェクトをコンソールアプリでつくって ソースがwin32アプリのものだからじゃないでしょうか。 win32アプリでプロジェクトをつくり直してみてください。 |
|
お答え頂いてとてもありがとうございます。 さっそく (sleep 3; echo "GET http://www.geocities.co.jp/.../rfc2068-ja.txt HTTP/1.0"; echo "Host:") | telnet www.geocities.co.jp 80 でやってみたのですが、telnet後、GET,Host:コマンドを実行せずにそのままtelnetを終了してしまいます。どうしてか、教えて下さい!! どうぞよろしくお願いします。 |
|
どうも。いえろーばっくすです。 この前の質問なんですが、なにやらtoInt関数以外のところで つまづいてるっぽいことが発覚しました。 プログラムを最小単位にして確認してみたところ ちゃんとtoInt関数は使えてました。 確認怠って質問してしまってすみませんでした。 まだ不具合は解消されてないのですが、 とりあえずがんばってみます。 板汚してすんませんでした。 |
|
返事遅れてすみませんでした。 ファイル書き込み(排他処理)の件、勉強になりました。 あとでやってみようかと思います。 ありがとうございました。 |
|
68user殿 アドバイスありがとうございました。 教えていただいたサイトには「障害が多いのでやめます」って 書かれていました。ショック・・・。 ほかにどこかありましたら、アドバイスお願いします。 |
|
> telnet後、GET,Host:コマンドを実行せずにそのままtelnetを > 終了してしまいます。 おろ、最後にも sleep が必要だった。んでもって、echo だけじゃ 改行が出ないのか。 ( sleep 2 ; \ echo "GET /index.html HTTP/1.0" ; \ echo "Host: www.goo.ne.jp" ; \ echo "" ; \ sleep 2 ) | telnet www.goo.ne.jp 80 これでも不完全なような気がする。 まぁ、この方法では所詮完全なクライアントは作れません。 どうしても perl でなくて bash でやりたいなら、except コマンドを使いましょう。 > 最近Qtに手を出し始めたいえろーばっくすです。 ちなみに Qt は全く知りません :-) じゃあ Gtk+ がわかるか というと、こっちもわかりません。でも、Xaw がわかんないが 一番痛い。 |
|
お教え頂き本当にありがとうございました。本当に感謝しています。 さっそくやってみたところ、大成功でした。 ただ、”不完全だ”というコメントが気になります。 manで、exceptコマンドをさがしてみたのですが、見つかりません。 そこで、簡単なexceptコマンドの使用例を教えて下さい。 あともう一点、 awkコマンドで、以下のように全角空白でsplit出来てしまうのですが、これは大丈夫なのでしょうか? kanji_n = split ($44, kanji_name, " ") gawkでなくても大丈夫ですか? 何度も申し訳ありません。よろしくお願いします。 |
|
> これでも不完全なような気がする。 これは多分勘違いです。シェルスクリプトでやる以上は、まぁ ベストに近いでしょう (ベストだと言い切る自信はない)。 ただし、 > まぁ、この方法では所詮完全なクライアントは作れません。 この見解は正しいです。なぜなら telnet の接続に 2秒以上 かかったら、もうおしまいです。telnet を使う方法は、所詮 クライアントもどきでしかありません。 > exceptコマンドをさがしてみたのですが、見つかりません。 普通 expect は標準では入っていません。お使いの OS の パッケージをインストールするか、ソースを手に入れて コンパイルして下さい。で、まずは man をよく読みましょう。 ちなみに僕は expect は使ったことがないので、多分答えられ ないと思います。 > awkコマンドで、以下のように全角空白でsplit出来てしまうのですが うーん、それで動いているのならいいんじゃないでしょうか。 awk って言ってもいろいろ亜種があるので、なんとも言えません。 |
|
初めまして、kmkです。 質問があるのですが、PCからUNIXへftpする際に 2Gを超えるファイルがはじかれたのですが、 limitで見るとfilesizeは無制限で、datasize が2Gチョイの制限になっていました。 マニュアルを見ても、なぜdatasizeでひっかかるのか 理由がわからないので、ぜひ教えてください。 |
|
Linux あたりなら、最近まで1つのファイルの最大サイズが 2GB まで、という制限があったそうですから、それじゃないで しょうか。 FreeBSD だと 5GB くらいは作れたという報告はみかけましたが、 最大サイズはわかりません。ちなみにファイルシステムとしての 最大サイズは、Linux も FreeBSD も 1TB か 2TB (忘れた) です。 商用 UNIX だと 1ファイル 1TB くらいはいくのかな? # でも Solaris2.6 だと最大 2GB だったような気も。 |
|
ありがとうございました。助かりました。 素直に、gzipで圧縮して、送ることにしました。 本当にありがとうございました。 |
|
ん、gzip で圧縮して送って、向こうで伸張できたのですか? なら最大ファイルサイズは関係なかったですね。 |
|
どうもお世話になります。 質問があるのですが、 プロセス中で動的メモリをmallocで取得して、そのプロセスが異常終了 (freeせずに)した時に取得した動的メモリは開放されるのでしょうか? #聞いた話によると確保した動的メモリは開放されずにそのまま #メモリに残ると聞いた事があります。 |
|
> 取得した動的メモリは開放されるのでしょうか? UNIX では必ず解放されます。 # OS のバグがない限り |
|
複数個(MAX100個)のウインドウを開く為に Display *display[100] Widget top_level[100] の行列で宣言して forループで,条件にヒットした場合のみ XtRealizeWidget(top_level[i]);などと コード化してみましたが,WINDOWが1つしか 表示しません.行列でwidgetを宣言するのに 問題があるのでしょうか?? |
|
>> 取得した動的メモリは開放されるのでしょうか? > UNIX では必ず解放されます。 元の質問とは大きく外れますが、共有メモリ(ipcs -mで見える)だと残りますね。 単なるFYIですが。 |
|
詳細はコード見ないと指摘できませんが、 > 複数個(MAX100個)のウインドウを開く為に > Display *display[100] ここだけ見ても、Displayに対する誤解がある気がします。 DisplayはXサーバとの接続ポイントです。 (socketとは限らないですが)分かりやすく言えば、socketを100用意して、それぞれ独立にサーバにつなごうとしているようなものです。 # 原理的には可能ですが、100のイベントループを管理するプログラムを書くのは嫌ですね。 |
|
補足ですが、Xt では XtDisplay(top_level) で Display * が 得られるので、Display を自前で用意する必要はありません。 % grep XtDisplay /usr/X11R6/include/X11/* IntrinsicP.h:#define XtDisplay(widget) DisplayOfScreen((widget)->core.screen) |
|
突然に書き込みで質問させていただく失礼をお許しください。 現在、ソケット通信(TCP/IP、マルチ)を行うプログラムを、 参考書などを調べながら作っております。 正直、概念などが良くわかっておりませんので、的外れな 物言いがあるかもしれませんが、御容赦ください。 現在、作成しようとしているシステム(X:仮名)では、 対向するYシステムと通信します。 また、Xシステム内部のプロセス間でも、クライアント・ サーバ間の通信を行います。 これらの通信に於いて、タイマを用意し、ヘルスチェックを 行おうとしていますが、この場合のタイマを、どのような形で 用意したものかで悩んでおります。 それぞれのプロセスの中から fork()したタイマで、上記のような 動作を行おうとしているのですが、この方法で大丈夫でしょうか? (事前の知識がありませんもので、不安を感じております。) あるいは、このような場合の、なにか、セオリーのようなもの というのは、あるのでしょうか? どうか、教えてくださいませ。 |
|
<AWKを使用した2つのファイルの文字列比較について>ご教授願います サンプルファイルです... <Input File1> <Input File2> <<Output File>> X01 X01 X025 X02 X02 X03 X03 X025 X04 X04 X07 X05 X05 X08 X06 X06 X099 X099 X07 X09 X08 X10 X09 X10 Input File1の文字列と Input File2の文字列の比較をします 結果としてOutputFileの出力を得たいのですが... 条件(雑でスミマセン) InputFile1の文字列が InputFile2の各文字列と一致する=出力しない InputFile1の文字列が InputFile2の各文字列と一致しない=出力する このケースでは InputFile1だけに存在する文字列 InputFile2だけに存在する文字列 がありますが InputFile2内の文字列を優先し (例) InputFile1の”X02"を比較するとき InputFile2”X02” は一致している => 出力しない 次のInputFile1の文字列”X03”を比較するとInputFile2の” 次行”である”X025"は一致していない (※) => X025 X03 の様にInputFile2の文字列”X025"を出力後InputFile1の”X03”を出力 InPutFile1の”X04 - X06"はInputFile2に含まれない =>そのまま出力 "X07 - X08"は双方含まれるので出力しない X09 の処理は(※)と同様に => X99 X09 の順で出力します(数としての比較ではありません) X10はInputFile2に含まれない =>そのまま出力 (AWK本も2冊買い込み(良い参照本があったら紹介願います)さらに同種質問の過去ログ”No. 1342”を参考(goo の"awk"検索でやっとこのHPにたどり着きました...)に考えてみたのですがどうしてもうまく作成出来ませんでした、AWK使いの方々:どうぞ宜しくお願いいたします) |
|
No.1428の修正です 申し訳ありません、サンプルファイルのスペースがおかしく なってました再送させていただきます。 <Input File1>____<Input File2>____<<Output File>> X01________________X01________________X025 X02________________X02________________X03 X03________________X025_______________X04 X04________________X07________________X05 X05________________X08________________X06 X06________________X099_______________X099 X07___________________________________X09 X08___________________________________X10 X09 X10 Input File1の文字列と Input File2の文字列の比較をします 結果としてOutputFileの出力を得たいのですが... 条件(雑でスミマセン) InputFile1の文字列が InputFile2の各文字列と一致する=出力しない InputFile1の文字列が InputFile2の各文字列と一致しない=出力する このケースでは InputFile1だけに存在する文字列 InputFile2だけに存在する文字列 がありますが InputFile2内の文字列を優先し... 以下例文です InputFile1の”X02"を比較するとき InputFile2”X02” は一致している => 出力しない 次のInputFile1の文字列”X03”を比較するとInputFile2の” 次行”である”X025"は一致していない (※) => 025 X03 の様にInputFile2の文字列”X025"を出力後InputFile1の”X03”を出力 InPutFile1の”X04 - X06"はInputFile2に含まれない =>そのまま出力 "X07 - X08"は双方含まれるので出力しない X09 の処理は(※)と同様に =>X099 X09 の順で出力します(数としての比較ではありません) X10はInputFile2に含まれない =>そのまま出力 (AWK本も2冊買い込み(良い参照本があったら紹介願います)さらに同種質問の過去ログ”No. 1342”を参考(goo の"awk"検索でやっとこのHPにたどり着きました...)に考えてみたのですがどうしてもうまく作成出来ませんでした、AWK使いの方々:どうぞ宜しくお願いいたします) |
|
そもそも > ヘルスチェック という言葉を初めて聞いたのですが (health check?)、文脈 からして正しく通信ができているかどうか調べ、一定時間 正常な反応がないならエラーにするという意味でいいですか? 目的にもよりますが、 1. サーバマシンが生きていて、network reachable かどうかを 調べるなら定期的に ping を打つ 2. TCP スタックが生きていることがわかればいいなら、定期的に echo サーバに接続。 3. サーバソフトウェアが生きていることを確認するなら、NOP の ような何も処理をせず返事を返すだけのプロトコルを実装し、 それを使って定期的に確認。 4. 該当スレッドが生きていることを確認するなら、select や alarm でタイムアウト処理をして、一定時間反応がなければ エラー、という処理をする。 ってなところです。どれがお望みですか? 当然 1 が簡単 ですが、信頼性のあるのは 4 ですね。 全然関係ないところに反応するのもアレですが > AWKを使用した2つのファイルの文字列比較について おお、化けてる。しかも元データは… http://X68000.startshop.co.jp/~68user/tmp/01428 http://X68000.startshop.co.jp/~68user/tmp/01429 正しそう。掲示板のバグですね。どこらへんだろう。 さて、本題は…今日は体力の限界に達したので…また後程。 朝起きたら誰か親切な人が答えてくれてるといいなと思いつつ、 おやすみなさい。 # 気になるのは Input File1 と Input File2 の内容は、文字列 # としてソートされていることが保証されているか、ってとこ # ですか。されているなら簡単。されていないなら…それでも # そんなめんどくさいことじゃないかも。 |