|
ありがとうございます。 現在、NFS & NIS の設定がうまくいってないそう なので、その辺の影響かな? まずは、ちゃんと設定するようがんばります。(^^; |
|
いつも拝見させていただいてます 今c言語でcgiのプログラム書いてるんですが hoge.exe?data1=aa&data2=bb みたいに引数を渡してプログラムを直接呼びたいのですが、うまくデータが渡せません Formからだと正常に動作するんですがサーバーの設定が関係しているんでしょうか サーバーはwindows nt + iisです apachだとそのような事はないですか? |
|
> hoge.exe?data1=aa&data2=bb 情報が不足していますので、わかりません。 「FORM からだと正常に動作する」というのは、どういう ふうに呼び出しているんですか? 「引数を渡してプログラムを 直接呼びたいのですが」とはどういうふうに呼び出そうと しているんですか? |
|
いつも勉強させていただいてます。あたしもがんばります。 |
|
大江山と言う童謡か歌の歌詞知りませんか? |
|
スミマセンでした... hoge.exeは日付等を受け取りlogを集計して返すプログラムです まず送信フォームのhtmlはこんな感じです < form method=post action="cgi-bin/hoge.exe" > < select name="data1" size="1" > < option selected value="aa"> aa < /option > < option value="bb" > bb< /option > < /select > < INPUT TYPE="SUBMIT" VALUE="送信" > < /form > これを < A HREF=hoge.exe?data1=cc&data2=dd > hoge < /a > のようにリンクから呼んで決まった処理をさせたいんですけどうまくいきません お手数ですが情報お持ちでしょうか |
|
またスミマセン.... <>の書き方を間違えてしまいました |
|
FORM は POST で送っているわけですね? で、 > <A HREF=hoge.exe?data1=cc&data2=dd> hoge </a> だと GET になるわけです。hoge.exe は POST でデータを 受けているので、標準入力を読んでいるはずですよね。 もしGET にも対応したいなら環境変数 QUERY_STRING を 見るようにしないといけません。 C なら getenv("QUERY_STRING") でもいいし、 main(int argc,char *argv,char *envp) として envp を見てもよいでしょう。 |
|
ありがとうございます if(0 == strcmp("POST",getenv("REQUEST_METHOD"))) { /* POSTの場合 */ if(fgets(buf, len+1, stdin) == NULL) { return 1; } } else { /* GETの場合 */ strncpy(buf, getenv("QUERY_STRING"), sizeo(buf)-1); } こんな感じでうまくいきました POST と GET ぜんぜん意識してませんでした(よく調べます) ほんとにありがとうございます。 |
|
promptの説明文の中にHTMLタグが表示されてましたよ % set prompt="%Sabc%s%Bdef%b%Ughi%u:" abc<b>def</b><u>ghi</u>: |
|
お久しぶりです、以前くだらない質問ばかりしていたものです(^^; CGIでサーバーの負荷率を調べたいのですが何かよい方法は無いでしょうか? 一応 top の表示のヘッダー部分に表示される数値を取り出し加工しようと もくろんだのですが見事に失敗しました。 open(SYS, "top|"); やはり甘かった。コマンドラインで top > hoge.txt としても取れないので top から取り込むのは駄目みたいですね。 オプションにもそれらしいものが見つかりませんでした。 FreeBSDの日本語マニュアルを見る限りはどうも互換性なさそうです。 面倒なんで試していませんが、一定の処理にかかった時間を測定して 負荷を調べようかと思うのですが・・・ これもいまいち正確さに欠けそうだし。何よりめんどうだし(^^; あっ因みにそれほどの正確さは求めていません、そもそもそんなに正確に 数値を取れないと思ってますから。 何か方法を知っていましたら、よろしくお願いします。 OSはVineLinuxです。 |
|
> promptの説明文の中にHTMLタグが表示されてましたよ どうもです。直しておきます。 # 実は気づいていたんだけど、自作の変換フィルタをどう # 直せばよいのかわからくて悩んでいるところです。 > CGIでサーバーの負荷率 load average を求めたいなら uptime や rup localhost などが使えると思います。 > open(SYS, "top|"); 入力に tty を読んでるのなら、top < /dev/null で いけるかもしれません (ダメかも)。 なお load average は、違うマシンや OS と比較は意味が ありません。わかっておられるかもしれませんが、念のため。 |
|
uptimeの情報ありがとうございます。 なるほどこれなら何とかなりそうです。 手持ちのコマンドリファレンスには uptime のことが載っていません でしたが、man には掲載されていたので、これでうまくいきそうです。 /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも あまりの数に手を焼いていたところなので助かりました。 >入力に tty を読んでるのなら、top < /dev/null で やってみましたが駄目でした。 >なお load average は、違うマシンや OS と比較は意味が >ありません。わかっておられるかもしれませんが、念のため。 すいません、意味がよくわからないのですが、「この結果を元に ほかのサーバーと比較するには意味が無い」と言う意味でしょうか。 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 かを調べる用途に使うつもりです。 ありがとうございました。 |
|
> 「この結果を元にほかのサーバーと比較するには意味が無い」 そうです。「Pentium133+FreeBSD と Pentium166+FreeBSD」とか、 「Pentium133+FreeBSD と Pentium133+Linux」などの load average を 比較するのは意味がないです。また、load average が2倍だから と言って、負荷が2倍とか速度が1/2 ということもない、という 意図で書きました。 > 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 > かを調べる用途に使うつもりです。 ということであれば、load average でいいと思います。 > /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも > あまりの数に手を焼いていたところなので助かりました。 `load average' というキーワードを知っていれば、 % strings -f /usr/bin/* | grep -i 'load average' などとするのも一つの手ですね。 |
|
この間示唆して頂いた、マルチスレッドの関連文書を調べる長旅に出た ところ、68userさんのところにあるではないですか(echo関連)。灯台下 暗し・・・ 御恥ずかしい。 ただ、以下のようなメッセージが出たので、どうも僕の環境(後述)では 不可能みたいです。 The Unsupported function fork function is unimplemented at echo.pl line 36. 因みにperl -vの結果は以下の通りです。 version 5.005_03 built for MSWin32-x86-object 目的がテキスト変換なので、delegateみたいな形式(/-_-)で対応しようかな、 それともjavaでも使ってみようかな、それともPCにUnixをインストールしよう かな、と悩んでいるところです(なんかどれも実行しなさそうですが)。 |
|
> どうも僕の環境(後述)では不可能みたいです。 Windows では fork は使えませんので、select を使うしか ないですね。 IO::Socket と IO::Select を使って http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl こんな感じでしょうか。本当に実用段階まで持ってくには まだまだ機能追加、バグ取りをしなきゃいけませんが。 ポイントは、全てのソケットからのデータを select 経由で 受け取ること。今はそうなってませんので、1つのソケット からのデータが遅れると、そこがボトルネックになってしまいます。 |
|
> Windows では fork は使えませんので cygwinに入っているPerlはforkが使えるそうです。(試していません。) http://sourceware.cygnus.com/cygwin/ |
|
68user様; どうも御教授、ありがとうございます。 現在、示して頂いたスクリプトを理解しようと勉強しています。しかし、 理解した上で改造するまでに、ちょっと時間がかかりそうなので(※)、 先にお礼を申し上げます。 ※ ->とか、selectとかの概念がまだ無いので、アルゴリズムがまだ 理解できずに停止しています。 また、進捗があったら、ご報告します。本当にありがとうございます。 # http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl は、 # ひょっとして、僕の質問のために作って頂いたものですか? # だとしたら、大感激です! ←違っていたらすいません。 Yuuki様; どうも貴重な情報、ありがとうございます。 早速ダウンロードして、68userさんのecho.plを実行したら、とりあえずforkは するみたいなのですが、残念なことに、forkしたとたんに、子プロセスが一般保護 違反を起こしてしまう(kernel32.dll)みたいです。多分、僕の環境が一般的じゃ ないので、それが原因じゃないかな、と思っています。現在、解析中です(←時間 がかかりそうですが・・・)。 因みにcygwin32はB20(full.exeのほう)です。perl -vは以下の通りです。 This is perl, version 5.005_62 built for cygwin 折角情報を頂いたのに、生かせなくって、申し訳ないです。 |
|
> selectとかの概念がまだ無いのでアルゴリズムがまだ > 理解できずに停止しています。 考え方は http://X68000.startshop.co.jp/~68user/net/echo-4.html と 同じです。モジュールを使うことで、ちょっとだけすっきりと書けます。 ここらへんは、そのうち web で解説を書くつもりです。 > ひょっとして、僕の質問のために作って頂いたものですか? 自分で使おうと思って、たまたま作ってました :-) 一応、GET だけはできるレベルのものを置いておきます。 http://X68000.startshop.co.jp/~68user/tmp/1st-proxy.pl shutdown あたりが とてもあやしい。 > cygwinに入っているPerlはforkが使えるそうです。 あ、そうなんですか。Windows 環境で perl を動かした ことがないので、適当に書いてしまいました。 |
|
http proxy は結構難しいですね。シグナルが飛んできたり、 コネクションを切断できなかったり、ファイルディスクリプタが 解放されなかったり…といったバグに苦しみながらも、3日かかって やっと書き上げました (でも HTTP/1.1 には未対応)。 # perl が panic で落ちるのを初めて見た。 でも、ネットワークプログラミングに関する理解力を試すには、 絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 # というわけで、完成版は出しません :-) |
|
いろいろ、ありがとうございます。早速ダウンロードして解析してます。 まだまだ、分からないことばかりですが、何とかふんばって作ってみます。 でも、68userさんが3日かかって作り上げたってことは、僕はどのくらい かかるのか、考えただけでも恐ろしくなります。いつになるやら・・・ もっとも、試行錯誤して自作するのは結構楽しいので、以下の、 >でも、ネットワークプログラミングに関する理解力を試すには、 >絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 ># というわけで、完成版は出しません :-) は、楽しみが残って嬉しいです。 >web で解説を書くつもりです。 楽しみにお待ち申し上げます :> # ># perl が panic で落ちるのを初めて見た。 # 僕も見られればいいなぁ、と妄想してます・・・ |
|
みなさんはじめましてこんにちは。 今日はじめてこのページを見たのですが、いやはや素晴らしい内容ですね・・ さんざん苦労して色々なところで得た知識(+α)がここに・・・(笑 私は最近Winでのネットワークプログラムに凝っているものです。 簡単なHTTPやSMTP、POP3クライアントはBorland C++ BuilderでWinsockを使い作成したこともあります。 さて実は質問があるのですが・・・ 現在DNSサーバーからのMXレコードの取得のプログラムを作っています。(リゾルバもどき?) メールアドレスに対し送信先のSMTPサーバーのアドレスを調べる簡単なクライアントです。 さてそこで問題となるのが問い合わせを行うDNSサーバーです。 私はダイアルアップでインターネットに接続しているのですが、接続した状態でwinipcfgを実行すると 「DNSサーバー」の欄にDNSサーバーのIPアドレスが入ります。 ダイアルアップを終了するとこの表示が消えます(当たり前かもしれません)。 このDNSサーバーのアドレスをプログラム内で取得したいのですが・・・一体どうやれば良いのでしょうか。 もし何かしらご存じでしたらお教え頂けるとありがたいです。 |
|
> このDNSサーバーのアドレスをプログラム内で取得したい こればっかりは OS に尋ねるか、設定ファイルを見るか、 ユーザに手動で入力させるか、くらいの手しかないんじゃ ないでしょうか。 winipcfg の出力を見るってのはダメですか? # 美しくないですけど。 |
|
こんにちは。いつも勉強させていただいています。 > DNSサーバーのアドレスをプログラム内で取得したいのですが RasGetEntryProperties で取得できるような気がします。 RASENTRY 構造体の ipaddrDns が、 > Specifies the IP address of the DNS server to be used while > this connection is active. だそうです。 NT で無事に取得できた覚えがあるのですが、かなり昔のことなので 記憶が曖昧です。 |
|
68userさん、kuwさん、お返事ありがとうございます。 >ユーザに 出来れば使う人にDNSサーバーを意識させないで(設定の必要なしに) 動かしたかったのです。。 >RasGetEntry おお、ありがとうございます。そうか、こういうのがあったのか・・・とヘルプを見ましたが、 NTのみとのこと・・(涙 実はダイアルアップでない、LAN内の端末でも使いたいという希望もあるんです。 おとなしくあきらめてユーザに設定してもらおうかな(^-^;; 本当にありがとうございました。 CGIのperlスクリプトなどについてもここで勉強させていただきます。 それでは失礼致します。 |
|
Windows は全く知らないのですが、 open(IN,"winipcfg|"); while (<IN>){ last if ( ($ip_addr) = m/(\d+\.\d+\.\d+\.\d+)/ ); } てな感じで取得できないんでしょうか? |
|
リリィさん、霊山の寺の中に、隠し通路があって、その奥に宝箱が2つあって、その内の1つに扉を開けるための、『大きな鍵』がありますよ。 |
|
Windows も UNIX も Perl も中途半端にしか知らないので、 誤解しているかもしれないのですが、、、 winipcfg は 標準出力に結果を吐き出すのではなくて、 ウィンドウが出てきます。 しかも、そのウィンドウで、[詳細ボタン]をクリックして はじめて DNS サーバが表示されます。 ですので、winipcfg の結果から DNS サーバを取得する のは容易ではない気がします。 # 不可能ではないのだろうけど。 |
|
はじめまして・・・ こちら 大阪のヒトです。 突然ですが 最近 日曜日の夜中に「ニキータ」のTV版をみて はまりまくってます。 で 「ニキータ」情報を知りたくて 検索したのですが・・・ どなたか TV版「ニキータ」について 教えて下さい!!! お邪魔しました ☆ |
|
> winipcfg は 標準出力に結果を吐き出すのではなくて、 > ウィンドウが出てきます。 ああ、なるほど。だから金床さんは お困りなわけですか。 全く話が見えてませんでした。失礼。 > どなたか TV版「ニキータ」について 教えて下さい!!! > 『大きな鍵』がありますよ。 たまにゲームなどの話題が出てくるので、なぜだろうと 不思議に思ってたんですが、もしかして SEGA BBS の 過去ログを見てこちらに書き込まれたわけですかね? # http://X68000.startshop.co.jp/~68user/segabbs/bbs1/vol390/390_432.html うちに置いてあるのは、昔の SEGA BBS の過去ログですので、 発言できません。こちらへどうぞ。 http://www.sega.co.jp/sega/p_cafe/bbs.html |
|
こんにちは。 僕は研究室配属でUnixマシンとご対面になります。(構造解析用) で、ちょっと触ってみたんですが難しかったです。(^^; 一応結構速いマシンなので使いこなそうと思ったんですが、 root権限貰う予定なので下手にいじりすぎるのもどうだろうと思いました。 OSはSunなんですが、今のところ画面も256色しか出ていません。 追々勉強して使いこなそうとは思っているんですが、 SCSIのHDを買ってきてそれにNTを入れたらどうなるのかと思って質問に来ました。 NTを使うときはUnixは完全に切り離して壊さないようにしたいんですけど、 ルートドライブ以外にNTを入れる事って可能なのでしょうか? また、出来ればNTの方は管理者専用(笑)にしたいのですが Dualbootに関して問題とか生じないでしょうか? 僕以外はPC使えない人なので一人でWSでインターネットしながら・・・ と目論んでいるのです。(笑) 要約すると、Unixは大事に使い、NTを別のHDに入れて普段はこちらは使いまくると言うわけです。 HDを切り離しててもフリーズしたりするとUnixの方のHDもちょっと心配ですね。怒られない程度にやる予定ですが(^^; |
|
もちろんマシンは Ultra なんとかじゃなくて PC/AT 互換機なんですよね? > 一人でWSでインターネットしながら と書いてあって、ちょっと気になったもので。 > Dualbootに関して問題とか生じないでしょうか? これに関してはこちらを。 http://www.pfu.co.jp/x86/faq/other-002.html > ルートドライブ以外にNTを入れる事って可能なのでしょうか? すいませんが、NT は全くわかりません。 > HDを切り離しててもフリーズしたりするとUnixの方のHDも > ちょっと心配ですね。 うーん、完全に2台の HDD に分けるなら、あまり心配すること ないんじゃないでしょうか。と、個人的には思います。 Solaris も Windows も守備範囲外なので、いまいち お役に立てず すいません。 # 僕の知識はとても狭く、なおかつとても浅いので (^^; |
|
えっと、compacのalphaマシンなので いまいち分かってないです。(^^; NTも乗せられるとは思うんですが。 ありがとうございます |
|
おひさしぶりです. 一つ教えて下さい. mule(emacs)で,lexまたはyaccのコーディングをしたいのですが, lex-mode, yacc-modeというのはあるのでしょうか? |
|
> えっと、compacのalphaマシンなので えっ、alpha 対応の Solaris ってあるんですか? あと 最新の NT って alpha で動きましたっけ。 # すいません、全然知らないので…。 > 元隣人(GPZ900R) > おひさしぶりです. おひさしゅうございます。2週間ぶりですけど :-) > lex-mode, yacc-modeというのはあるのでしょうか? 昔 fj で教えてもらったものを置いておきます。どこから 取ってきたかは忘れました。 http://X68000.startshop.co.jp/~68user/tmp/bison-mode.el http://X68000.startshop.co.jp/~68user/tmp/yacc-mode.el 常用してないので、どちらが使いやすいかはわからないです。 {lex,flex}-mode は聞いたことがないです。みんな c-mode で やってるんですかね? |
|
関西のソフマップにNTTのモバイル3の在庫はありますか? |
|
>えっ、alpha 対応の Solaris ってあるんですか? >あと 最新の NT って alpha で動きましたっけ。 色々調べてみたんですが、 どうやらNTは載らないみたいです。(compaqがサポートしてないのかも知れないけど) alphaでNTが動く物も有るようですがよく分かりません。 で、Tru64 UnixというのがOSな気がします。 そうなるとUnixを勉強するしかないようです。(^^; |
|
> どうやらNTは載らないみたいです。 NT4.0 は動くみたいですけどね。 # NT5.0 って出てるのか知らないけど…。 ## NT5.0=Windows2000? > Tru64 UnixというのがOSな気がします。 Tru64 以外で動くのは、NetBSD、FreeBSD、Linux あたりでしょうか。 |
|
一般ユーザーで持ってる人は少ないと思います。 Tru64Unixなんて初めて聞いたOS名でした。(^^; しょうがないのでLinuxを入れるかも知れません。 UnixをDualbootなんて出来るんでしょうか? #NT5=Win2000と考えて良いと思います NT4.0が動くとして、ドライバとかって有るんでしょうかね? とりあえず、4月になって院生が居なくなったら僕が使えるようになるので(笑) |
|
> UnixをDualbootなんて出来るんでしょうか? 多分 Alpha Station のアーキテクチャは PC/AT と異なる だろうから、専用のブートローダが要るんでしょうね (ほんとか?)。まぁでも、誰かが作ってるでしょう。多分。 これ以上は僕にはさっぱりわからんので、fj や Linux 関係の メーリングリストで質問してみて下さい。 |
|
どうも。高山です。 現在 Perl の syntax を絶賛嫌悪中(意味不明)。 あの $ やら % やら @ やら & を見ると殺意が沸きます(笑)。 # 1 ヶ月後には謎の世界な気が。二次元配列とか作るの面倒だし……。 tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 Ruby で書けたら嬉しいと思う今日この頃。 # ちなみにバグを 1 ヶ所発見しました。tmpl2html を通した後に # 余計な改行が入るという物です。 |
|
> tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 iso-2022-jp 化は、おまかせします。はっきり言って、 メリット云々じゃなくて美意識の問題ですよね? あと、EUC 化するとしたら、ついでに jcode::euc2jis/jis2euc を 削って直接 EUC の HTML を書き出すようにしていただけませんか? # ちょっと CGI が重すぎるので、処理を減らしたい。 > Ruby で書けたら嬉しいと思う今日この頃。 まだ ruby は初心者同然なので、既存のスクリプトの書き換えは ご勘弁を。でも新規スクリプトなら…ruby でも…いい…かな…? でもあんまり難しいことしちゃイヤ (^^; |
|
> メリット云々じゃなくて美意識の問題ですよね? 嫌な事態への予防策です。確立的には結構低いでしょうけど。 でも、熊谷さんが待ったをかけていますので、まだしません。 # む〜。僕の勘違いだったりするのかな? 美意識の方は、持ち出すと際限が無いので(笑)。考慮外。 > まだ ruby は初心者同然なので、既存のスクリプトの書き換えは 僕も初心者同然ですけど、触ってると面白いです。 それにオブジェクト指向な所がいいです。僕は Java から入ったので、 実はかなりオブジェクト指向大好き人間なのですよ。フフフ(笑)。 |
|
CVSって最近までなんのことだかさっぱりわからなかったんですよ。 ちょっと前いじってみようと思って、Windows版のCVS(WinCvsじゃなくてコマンドラインの) がダウンロード出来る所まではわかったものの使い方がわからずにそのままでした。:-) それで今日、何気に高山さんのホームページを見たらCVSの項目があったので そこのページを見ながらやってたら、とりあえず使えるようになりました。(^^; しかし、もう、必需品となりつつある。 とりあえず使えるようになった所で、以前は謎だった http://www.ruby-lang.org/ja/download.htmlの pserverをお使いの方は〜 に書いてあるとおり打ちこんだら ダウンロードが始まって、、その時はすごい嬉しかったです。(^^; 今度はVineLinuxにCVSをインストールしてWindows側から管理出来るようにしてみたいな・・と。 # 何が言いたいのかよくわからない書きこみになってしまった。:-) |
|
> でも、熊谷さんが待ったをかけていますので、まだしません。 あれは待ったなのかな? 別に問題ないんじゃないでしょうか。 なお、僕の方は3月15日前後から暇になります。運用開始は 今月中の予定。でも予定は未定 :-) > CVS /etc/* とか、個人用 dot file とか、ここの web page も cvs で管理したいんだけど、なかなか…。 |
|
> それで今日、何気に高山さんのホームページを見たらCVSの項目があったので あ。役に立ちましたか。良かった。CVS 便利ですよね。 # そいえば自分のウェブ随分更新してない……。 僕は自分のウェブを CVS で管理してますが、 $Id$ などで更新時間を表示できるので楽です。 > 運用開始は今月中の予定。でも予定は未定 :-) 早く運用始めないと忘れ去られそうですね(汗)。 # 既に忘れられてるかも……(苦笑)。 |
|
> # 既に忘れられてるかも……(苦笑)。 ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 ほえ〜。 |
|
> # そいえば自分のウェブ随分更新してない……。 CVSの項目に http://www-vox.dj.kit.ac.jp/%7enishi/cvs/cvs-manual/cvs-jp_toc.html CVSの説明書日本語訳? http://www.freebsd.org/~fenner/cvsweb/ CVSWEB を追加しとくのはどうでしょうか? 前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。 (http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=756) http://x68000.startshop.co.jp/~68user/net/sample/echo-server-fork.pl をまったく変更しなくてもWindowsで動きます。 その時のスクリーンショットを、、:-) まずは1つのtelnetで... http://homepage1.nifty.com/tyuuki/68user/mt_echo/client.png http://homepage1.nifty.com/tyuuki/68user/mt_echo/server.png 2つ同時にアクセスされても大丈夫。 http://homepage1.nifty.com/tyuuki/68user/mt_echo/thread.png |
|
Yuuki様; forkできているみたいですね! 情報ありがとうございます。 僕は、会社のマシンで実験したのですが、やっぱり落ちてしまいます・・・ なので、あきらめていたのですが、まだ検討の余地があるってことですね。 う〜ん、なんでだろう? ←自問自答です。 68user様; すいません、やっとselectの概念がわかったのと、以前いただいた スクリプトを試してうまくいっているところまでしか進んでいません。 まだまだ道のりが長そうです。なかなかいい報告ができないので、 心苦しいです・・・ |
|
はじめまして。 これからUNIX(LINUX)を導入して、ネットワークプログラミングを 勉強しようとしている者です。 まだ全部読んでませんが、このページはすごくわかりやすく、 しかも私のレベルに合っているので重宝します。 これからも、この調子で更新していってください(^^) 68userさんはすべての作業をX68000でやられているのですか?(^^; |
|
ん〜。眠いぜ。 > ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; たまに「この作業報われない?」と思う瞬間があります(笑)。 某 www-links-core ML も、ほぼ二人の世界ですし。 > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 何か段々商業色が強くなっていくようで、個人的には嬉しくないです。 最近の FreeBSD はどうも妙な方向に向かいつつあるみたいな感じが。 |
|
すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません 助けてください。 よろしくお願いします。 |
|
> 前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。 なるほど。fork できる Win 用 perl *も* あるってことでしょうか。 > すいません、やっとselectの概念がわかったのと、以前いただいた > スクリプトを試してうまくいっているところまでしか進んでいません。 ま、一歩ずつ着実に…。 > 68userさんはすべての作業をX68000でやられているのですか?(^^; Using FreeBSD with X68000 spirit ということで :-) > すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を > 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません 僕もわかりませんので、FreeBSD-users-jp などで質問して下さい。 なお、こういう質問の仕方では「何がわからないのか、デバイスが 認識されないのか、設定方法がわからないのか」などの情報が全く 書かれていないので、投稿する際は そこらへんを詳しく書いて下さい。 あと、 http://www.jp.FreeBSD.org/search.html#doc で、DDS で検索するといくつか引っかかります。 |
|
こんにちは。 はじめて投稿さしてもらいます。 smbclientコマンドのオプション-Mってありますよね。 UNIX→WinPCへの送信はOKなんですが、 WinPC→UNIXへの送信メッセージってどうやってWinPCのメッセージを参照 するのですか? #ちなみに、使用UNIXはRedHat LINUX5.2(J)です。 宜しくお願い致します。 |
|
こんばんわ。どーしても FTP が作りたくなったので、探して みたら辿り着きました。 FTP の資料を探していたくせに、 いま調べまくって Proxy を VisualBasic で作成中です。 RFC を読んでからにするべきなんでしょうが、すでに コンテンツや画像の中継機能は実装できていますが、マルチで まともに動くのが怪しい VB で作っているのと、状態遷移図を 書かずにやってるのとで、サーバからのデータを取りこみ きれずにソケットが閉口(笑)してしまいます。 単純なデータ処理なら既に完成しているんでしょうが Java を 横目で眺めつつ、ノウハウの蓄積などと嘯いております。 ドカチンプログラマ(Oracle屋さん)なので、そっち方面では恩返しが 出来ると思いますが、メインはやっぱり Windows なので、Oracle on Unix となるとちょっと…。しかも Socket やってるくせに私は C/C++が使えません(^^;)とはいえ NetBSD/X68k なんかも知ってたり して、支離滅裂なコンピュータ人生です。 またちょくちょく顔を出させてください。でわまた。 |
|
へにかさん > forkできているみたいですね! こっちの環境書くの忘れてました:-) Windows98 Cygwin B20 Perl 5.005.62 (http://cygutils.netpedia.net/B20/perl-5.005_62.html) cygwin1.dll (ftp://gd.tuwien.ac.at/gnu/sourceware/cygwin/snapshots/cygwin1-20000306.dll.gz) http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml とか参考になるかもしれません。 |
|
また書き込んじゃいます。てへ。 なんかFreeBSDとBSD/OSの会社が合併するようですね。 Linux勢に押され気味のBSD勢ですが、今後はBSDも活気が 出てきますかね? っていうか、まだLinuxかBSDか迷っています。 ノートPCで動かす予定なので、ノート関連の資料が多く揃っている(?) BSDもいいなぁなんて。 |
|
Yuuki様; cygwin1.dllを入れ直したら、無事forkしました。 色々、ありがとうございます! 嬉しいです。 嬉しさのあまり、証拠画面を作成しました。 以下に示します。宜しかったらご覧ください。 http://henika.virtualave.net/echotest.gif |
|
> smbclientコマンドのオプション-Mってありますよね。 すいません、samba の設定をしたことがないのでわかりません。 > いま調べまくって Proxy を VisualBasic で作成中です。 HTTP proxy ですか? それとも ftp? > 状態遷移図を書かずにやってるのとで、サーバからのデータを > 取りこみきれずにソケットが閉口(笑)してしまいます。 あ〜、普通 状態遷移図を書くもんなんでしょうか。 僕は素人なので思いつくままコーディングしている のですが。その結果、close でソケットが閉じず、 shutdown しなきゃならないプログラムが出来上がりました (笑)。 > なんかFreeBSDとBSD/OSの会社が合併するようですね。 FreeBSD Project に資金提供して、その見返りとして CD-ROM を 売っている (と言っても、誰でも CD-ROM を売ってもいいんです けどね) Walnut Creek と、BSD/OS を作っている BSDI が合併、 ということです。念のため。 個人的には、OpenBSD,NetBSD 陣営とも一本化してほしいもんです。 人手が分散するのが惜しい。Linux 界も、あそこまでディストリ ビューションを乱立させることもないと思うんですが…。 > へにかさん、Yuuki さん Windows ユーザへの注意点とか、ここから perl を落とせとか、 そこらへんがまとまってるリンク先があれば、 http://X68000.startshop.co.jp/~68user/net/ に付け加えますが、何かいいところはありますか? |
|
いまつくってるのは、なぜか http-proxy です。 状態遷移図とかは、商売上お客さんに納入しないとだめなときが ありますが、あればあったで、自分が混乱したときに役立ちます(笑) |
|
質問です。 wwwboardに以下のような行がありますが、 print <CACHE>; これは my @line = <CACHE>; print @line; と同じような動作をするのでメモリに負担がかかるような気がするのですが どうなのでしょう? |
|
> メモリに負担がかかるような気がするのですが う、その通りですね。修正しておきます。ありがとうございました。 |
|
> print <CACHE>; の他にも、なんやかんやと掲示板をいじってみたり。 というわけで、テスト。 すいませんが、古い cookie は多分効きません。 |
|
> Windows ユーザへの注意点とか、ここから perl を落とせとか、 > そこらへんがまとまってるリンク先があれば、 僕が見てきたページには無いようです。 僕がそこらへんをまとめたページを作りますね。 WindowsでPerlをやる時の注意点 てな感じで。 > 古い cookie は多分効きません。 例によって、名前を入力する場所に "68user"と入ってました。:-) |
|
> 例によって、名前を入力する場所に "68user"と入ってました。:-) ありゃ、古いバグを掘り起こしてしまった…。 |
|
まとめたページ、とりあえず作りました。 まだ情報が少ないですが、、(なのでまだ公開してない) http://homepage1.nifty.com/tyuuki/perl/windows_perl.html かなり眠い状況で書いたので間違いあるかも。です。:-) |
|
あ、Yuuki様が既に・・・ でも折角なので、投稿してしまいます。 ご希望に何処まで沿えるかどうか分かりませんが、これが良いと思います。 http://www.st.rim.or.jp/~nakata/ (但し後半部分のリンク集) ただ、これだとfork可能な、cygwin上のperlへは辿り着かないので、 Yuuki様が紹介された、以下のサイト、 http://www.jaist.ac.jp/~fujieda/cygwin/ 更に、cygwin1.dllを入れ替えなければならないので、その参考として、 http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml を付け加えればいいかと存じます。 cygwinをインストールして、perlをインストールして、cygwin1.dllを 入れ替えて、やっと動作するので、forkが必要な場合以外でインストール するのはかなりしんどいかも知れません。ActivePerl(http://www.activestate.com/) がforkをサポートさえすれば、最初に紹介したサイトが一番良いと思います。 ついでに進捗; なんとか、mime typeを認識まで出来ました。後はtextのfilterを入れる 寸前で(schedule的に)停止中・・・ あと、全く関係無いですが、状態遷移図からプログラムを吐き出すソフト、 って存在するのですか? フローチャートだと、 programa(http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/)が面白いです。 ハードだと、stateCADやDesignBookが有名です。 ※ cookieを久しぶりに食べたら、名前が へにか Email になって ました。また、WWWC(更新チェッカ)で3/14 8:22にチェックしたら、 3/13 22:12でした。更に、曜日が、羨ましい状態です。 |
|
はじめまして。UNIXのコマンドの質問なのですが... % ls -l -rw-r--r-- 1 *** ***** 2449 Mar 14 08:17 **.* -rw-r--r-- 1 *** ***** 1739 Mar 14 08:17 **.* -rwxr-xr-x 1 *** ***** 1223 Mar 8 00:04 **.* -rw-r--r-- 1 *** ***** 4135 Mar 14 08:20 **.* -rw-r--r-- 1 *** ***** 29140 Mar 14 08:20 **.* と、こんなかんじで表示されると思うのですが、そのとき↓のように表示したいときは どうすればいいですか? 2449 1739 1223 4135 29140 こんなかんじにファイルサイス゛列だけを表示したいのですが教えてもらえますか? |
|
こんにちは。 > ファイルサイス゛列だけを表示したい わたしなら、 ls -l | awk '{print $5}' かなぁ。 awk って便利ですよね〜 |
|
kuwさん、ありがとうございました。 助かりました。 |
|
はじめまして レンタルサーバを借りていて、telnetで少々時間のかかるコマンドを バックグラウンドで順番に実行させようと思っているのですが、 ログアウトするとどうもプロセスが終了してしまうようなのですが・・・ ログアウト後も終了させないでつづけさせるにはどうしたら良いのでしょう? ちなみに、commandA&&commandB &っていうふうにコマンドラインには 入力しています。 超初歩的な質問だとおもいますが、よろしくお願いします。。。 |
|
> ログアウト後も終了させないでつづけさせるには http://X68000.startshop.co.jp/~68user/unix/pickup?nohup でいいですか? > 更に、曜日が、羨ましい状態です。 おぉ、毎日が日曜日…。 Win+perl の件は後程。 |
|
スゴい深刻な問題抱えてますーーーー。 連休明けまでに(3月20日までに)プレイステーション2売ってくれる 人いませんかーーーー????? チョットクライ高くてもかまいませんんんん。 |
|
> cygwinをインストールして、perlをインストールして、cygwin1.dllを > 入れ替えて、やっと動作するので 勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 CygwinPerlをインストールするためにCygwinをインストールする必要はないです。 どうするかというと、それは僕のページに書いてます。:-) (http://homepage1.nifty.com/tyuuki/perl/windows_perl.html) |
|
>68userさま お返事ありがとうございます。 リンク先のnohupコマンドを使ってやってみたのですが やっぱりログアウトするとプロセスが終了してしまうみたいです。 nohup /home/hoge/hage/commandA&&/home/hoge/hage/commandB & というかんじで入力しているんですけど。。 実行すると「nohup: appending output to `nohup.out'」 というメッセージがでます。 こういうやり方でいいんですよね? サーバの設定の問題なのかな? どうすればいいんだろうか。。 |
|
> 実行すると「nohup: appending output to `nohup.out'」 ということは bash をお使いだろうと思いますが、こちらでは nohup commandA && nohup commandB & でできました。tcsh なら ( nohup commandA && nohup commandB ) & とサブシェルに実行させれば動くようです。 |
|
Yuuki様; >勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 うっ、た、確かに・・・ ご指摘ありがとうございます。 会社のマシンでも、pathからcygwinをはずして、usr\以下にpathを 追加し、そこにcygwin1いれると、動いてました。 あと、Yuuki様のページ、なかなかインストールしやすくなっていて、 感心しました。 |
|
DVDとCD−RWが一緒になっているドライブがあると聞いたけど、これってお買い得? |
|
モジュール関係を中心に更新しました。 http://X68000.startshop.co.jp/~68user/net/ さすがにネタが尽きてきた & 飽きてきた。何かおもしろい 題材ないですかね。NNTP も ICQ もいまいち食指が動かないなぁ。 あと、Windows+perl を使うときの参考ということでリンクを 張りましたが、よいですか?>Yuuki さん # 「よいですか?」というのは (失礼な言い方でなりますが) # こういう分野は情報がすぐに古くなるので、定期的に更新を # 続ける気はおありですか? ということ。 ## 僕は Windows 使ってないため、情報が正しいかどうか全く ## チェックできないので。 なお、ちょっと忙しくなるので、26〜27日あたりから 4月中旬まで しばらく掲示板を閉めます。 |
|
>こてつさん DVDとCD-RWくっついてるやつは 性能的にみても,別々に買ったほうが安いので 辞めといたほうがよろしいかと。 >68user様 自作機で新マシン作りました。ハード関係 前より詳しくなりましたよ。CGIは相変わらずですけど。 奥深いですね。自分で組むと全く動かないです(w |
|
> あと、Windows+perl を使うときの参考ということでリンクを > 張りましたが、よいですか?>Yuuki さん はい。大丈夫です。 |
|
> はい。大丈夫です。 了解です。 > 自分で組むと全く動かないです(w CGI ってのはデバッグしにくい環境なので、いろいろと がんばってみて下さい。 いろいろとありまして、転載についての説明を http://X68000.startshop.co.jp/~68user/ に加えました。ご一読下さい。 予告通り、4月中旬まで掲示板は閉めます。ではまた。 |
|
68user様 突然掲示板に書き込む無礼をお許しください。 私はネットワークの勉強をし始めたばかりの薩摩という者です。 こちらのページは大変奥深く、いつきても感動してしまいます。 ところで、今回意を決して掲示板に書き込むことに決めたのは、 ftptransのforkの部分を4引数selectを用いたらどうなるかを 知りたかったためです。 自分で考えてみたのですが、ソースが汚くなってしまい、 もし68user様ならどのように書かれるのか気になって しまったのです。本当ならこういうソースはメール等で お送りすべきとは思うのですが、こちらの方でするように とありましたので、いかに書きます。なお、ftptrans内で 用いられているサブルーチンはそのまま使わせて頂きました。 if ($passive){ &client_work(DATA,$data_connection_host,$data_connection_port); } $rin = &set_bits(COMMAND,DATA,DATA_WAITING); while(1){ $ret = select($rout=$rin,undef,undef,undef); if(fileno(COMMAND) && vec($rout,fileno(COMMAND),1)){ $ret = &read_response; if ( $ret =~ m/^5/ ){ print STDERR $ret; close(DATA); close(DATA_WAITING); exit; }elsif( $ret =~ m/^1/ ){ if ($mode eq put){ open(IN,$infile) || die "$infile: $!"; while (<IN>){ print DATA $_; } close(IN); } }elsif( $ret =~ m/^2/ ){ close(DATA); } }elsif(fileno(DATA_WAITING) && vec($rout,fileno(DATA_WAITING),1)){ accept(DATA,DATA_WAITING); $rin = &set_bits(COMMAND,DATA,DATA_WAITING); close(DATA_WAITING); }elsif(fileno(DATA) && vec($rout,fileno(DATA),1)){ open(OUT,">$outfile") || die "$outfile: $!"; print OUT <DATA>; close(OUT); close(DATA); exit; } } sub set_bits { @sockets = @_; $rin=""; foreach $sock (@sockets){ if(fileno($sock)){ vec($rin,fileno($sock),1)=1; } } return $rin; } sub to_bin { return unpack "B*",$_[0]; } 以上です。投稿が非常に長くなってしまいましたが、 気付いた点がありましたら御指摘いただけると幸いです。 また、68user様がかかれた物も拝見できましたら ありがたいのですが。 以上、よろしくお願いします。 |
|
ごめんなさい。下の投稿をしたのは僕です。 名前が抜けていました。どうも削除はできないようなので、 もう一度投稿しました。 本当にごめんなさい。 |
|
どうも、おひさしぶりです。再開おめでとうございます。 散々アドバイス頂いて、スクリプトも頂いて、そのおかげでなんとか perl proxyを作れました。本当にどうもありがとうございます! sysreadの返値がundefかどうかを判定するところではまってました。 これでやっと当初の目的(漢字変換および80桁で折り返す、ヘブライ語 のテキストをiso-8859-8-iからiso-8859-8)に取り掛かれます・・・ |
|
ふう、やっとネットワークに繋がった。 > perl proxyを作れました。 あれを完成させてコメント付けて解説付けて公開するつもりでしたが、 全然進んでないので、置いておきます。 http://X68000.startshop.co.jp/~68user/tmp/2nd-proxy.pl へにかさんのが これより高機能なら公開して下さいね。 # 不具合: # POST の長さについて、実際のデータより少し多めに送ってしまう # ような気がする & たまに永遠にソケットを読みに行ってしまう # ことがある & ブラウザ側が途中で切断しても proxy 側が感知できない。 # perl5.004 だと動かないような気がする。perl5.005_05 以降 # ということで。 >薩摩さん これって動いているんですよね。ならいいんじゃないでしょうか。 でもまぁ、せっかく select を使っているんだから、 > while (<IN>){ > print DATA $_; > } せずに、read して 再度 select で待つとよいかもしれません。 そうすれば、「現在 〜% 読み込み中、あと何秒、(〜bytes/sec)」 なんてのを刻々と表示できますし。表示するかどうかは別としても、 僕ならそうすると思います。 |
|
68user様 有難うございました。なるほど、readを使うとは 思い当たりませんでした。これから挑戦してみます。 有難うございました。 |
|
68userさんへ どうも、はじめまして UNIX初心者です。 私はUINXの勉強をし始めたばかりの岡野という者です。 こちらのページはいつもお世話になっています。 実は、userさんにgzipがなぜ使えないのか?? どうしても知りたかったため 投稿をしました。 gzipをインストールをして、pathで環境設定をしたんですが・・・・ バイナリーファイルを実行できません。 gzip -d bash-2.03-sol7-sparc-local.gz と打ったのですが、 /GNUzip/root/usr/local/bin/gzip:execフォーマットエラー こう出てきました。 なぜでしょう? OSはsolaris5.7です。 |
|
exec フォーマットエラーという意味がわからんので確認して下さい。 適当なファイル foo を用意して、gzip foo で foo.gz が作成されますか? できるなら、 bash-2.03-sol7-sparc-local.gz が壊れているんでしょう。 gzip foo でも exec フォーマットエラーとなるなら gzip 自体がおかしいんでしょう。どうやってgzip を インストールしましたか? |
|
>68user こんちは。いろいろおつかれさまです。 もうおともだちはできましたか? さて、早速ですが、以前作っていただいた掲示板のCGI、 実はダウンロードしたつもりで忘れていたみたいです。 いろいろ探してみたんですが、見つかりませんでした。 なので、お手数ですが、もっかいどっかにアップしてやって下さい。 |
|
はじめましてこんにちは。 diffコマンドで質問があるのです。 最終行にnewlineがあるファイルとないファイルを比較したとき、 newline以外の部分が同じでも、その行は違うよと答えてきます。 newlineあるなしに関わらず内容部分だけでdiffするにはどうしたら良いでしょうか。 どうか教えてください。よろしくお願いします。 |
|
> diff うちの GNU diff-2.7 では、-b オプションで お望みの動作をしているようです。 > もうおともだちはできましたか? まぁ、それなりに。というより、ずっと一緒に研修受けてるから 自然に仲良くなるって感じですかね。 > もっかいどっかにアップしてやって下さい。 すんませんが、もうちょいデバッグしてから送ります。 どういうバグが残ってたのかも忘れてしまったので。 週末に仕上げる予定。 |
|
68userさん、お返事ありがとうございます。 >うちの GNU diff-2.7 では、-b オプションで >お望みの動作をしているようです ぼくが使ってるやつで-bオプションを使ってもゆうこときいてくれないです。 何か他の方法あれば教えてください。お願いします。 |
|
-y とか -B などはどうですか。なお、FreeBSD の diff では http://www.jp.FreeBSD.org/cgi/mroff.cgi?subdir=man&man=diff&dir=jpman-3.4.0%2Fman という意味です。ご自分の環境の diff のマニュアルを見て、 同じようなのを探して下さい。 なお、SunOS などに付いてくる低機能な diff じゃ無理かもしれません。 あとは perl などで最後の改行を削除してから diff、くらいしか 思い付きませんねぇ。 |
|
68userさんへ お返事ありがとうございます。 ぼくの使っているSunOS環境のdiffではダメなようですね。トホホ。 どうやら末尾のスペースまたはタブしか無視してくれないようです。 perlもつかえる環境ではないのです。仕事先なのでインストールもできないです。 またいろいろとチャレンジしてみます。 ありがとうございました。 |
|
65userさんへ お返事ありがとうございます。 いろいろ調べてみたのですが、SPARC と INTEL を間違えていたみたいです。 間違えてINTELをダウンロードしてしまったみたいです・・・・ bash-2.03-sol7-sparc-local.gzを展開したら bash-2.03-sol7-sparc-localになってこれは展開できてるんですよね でもその後にどうやってインストールしていいかわかりません。 お願いします 教えてください。 |
|
> でもその後にどうやってインストールしていいかわかりません。 http://hiroyuki.oresama.org/tech/solaris/install.solaris.html など。僕は package から入れたことがないので、詳しいことは わかりません。 > ぼくの使っているSunOS環境のdiffではダメなようですね。 GNU の diffutils を入れるのは? SunOS のコマンドは 貧弱すぎて、僕はほとんど使ってないです。 |
|
>へにかさんのが これより高機能なら公開して下さいね。 僕のproxyは、 1) 1st-proxy.plに対し、 a) sysreadの返値をdefinedでチェックするところ、 b) フィルタをかけられるようにしたところ、 c) 環境変数を配列に貯えたるところ、 以外は、あまり変わらないところ、 2)68userさんが示された、2nd-proxy.plの不具合の内容に対するような 観点ではチェックしていない(というか、僕が遊べる程度でしかチェック していない)ところ、 という事で、まだまだ公開できるレベルではないです。 すいません・・・ |
|
疑問が何点かあります。 アスキー形式ファイルとは具体的に言えばどういう事なのでしょうか。 それと、中間ファイル、圧縮形式、プロッタ言語の意味がわかりません。 どうか、お教え下さい。困っています。 よろしくお願い致します。 |
|
何の話かわからないです。CAD ですか? > プロッタ言語 HPGL とかのこと? プロッタに座標 (10,20-200,300) の 直線を書かせるには (HPGL を解するプロッタならば) PD10,20;PA200,300; (だったっけな?) という文字列を送れば、 あとはプロッタが適切に解釈して線を引いてくれるってこと。 アスキーと圧縮形式はコンピュータ一般の用語ですが、 CAD 界ではどうなのか知りませんので何とも言えません。 中間ファイルは CAD の処理系依存でしょう。多分。 なお、僕は CAD を全く知りません。 > 週末に仕上げる予定。 すまんす。仕上りませんでした>has |
|
SFCのドラクエ3ですが、 最後のゾーマにあえません。 のぼっても、もぼっても、くだっても、くだってもおなじ階段とかって、 関係あります???? |
|
こんにちは。cgi-mlの記事を見て、このサイトの存在を知りました。 大変参考になります。 ところで、 http://x68000.startshop.co.jp/~68user/net/pop3-2.html に書かれている「Linux や Solaris の /etc/services には……」の部分で、 手元のSolaris2.5.1(x86)及びFreeSolaris7(x86)、Linux(Slackware,Plamo/98)を調べてみましたが、 pop3 110/tcp の記述になっていました。 Solaris2.5.1はわかりませんが、他の環境は私がデフォルト設定でそうなっているのを確認しましたので、 間違いないと思います。 68userさんが見られた設定は、管理者が書き換えたものではないでしょうか? |
|
> Solaris2.5.1(x86)及びFreeSolaris7(x86)、Linux(Slackware,Plamo/98)を > 調べてみましたが、pop3 110/tcp の記述になっていました。 情報どうもです。僕が調べたのは Solaris 2.5.1 と 2.6 だったかなぁ? Linux はバージョンはおろか、ディストリビューション名さえ覚えていません。 # NIS で Solaris2.3 から services を引っ張っていた可能性もあるなぁ…。 > 管理者が書き換えたものではないでしょうか? 片方の Solaris は わかっている人が管理してたから書き換えるような ことはしないと思うし、もう一方の Solaris は素人が管理してたから 多分書き換えるようなことはしないと思いますが、既に確認できないです。 どなたか、この辺の情報をお持ちでないですか? 「うちの Solaris も pop3 110/tcp」だった、と言っていただければ、その記述は削除しておきます。 |
|
> # NIS で Solaris2.3 から services を引っ張っていた可能性もあるなぁ…。 古いSolaris(2.5.1も十分古いか?(^^;)だと、pop-3とかで書いてある 可能性が高いですね。pop2だと、以下の記述になってます。 Solaris2.5.1(x86) /etc/services pop-2 109/tcp # Post Office Solaris7(x86) /etc/services #pop2 109/tcp pop-2 # Post Office Protocol - V2 #pop-2 109/tcp # Post Office (あ、さすがに7まで来るとコメントアウトになってる<デフォルト) ということで、Solaris2.3からそのままservicesをもってきている場合は、pop-3の 記述であるのも頷けますね。 |
|
ただいまWAPのペ−ジを作成していますが、どうも文字のエンコ−ドがうまくいかずいきづまっています。 誰か助けてください。 |
|
> ただいまWAPのペ−ジを作成していますが、どうも文字のエンコ−ドがうまくいかずいきづまっています。 > 誰か助けてください。 環境がどうなのか全く分からないので、的外れかもしれませんが、 HDMLの文字コードに関する問題ならば、 http://www.houshinji.org/hdml.html のサイトが参考になるかもしれません。 |
|
> Solaris2.3からそのままservicesをもってきている場合は、 > pop-3の記述であるのも頷けますね。 では、次回更新時に「古い Solaris (おそらく Solaris 2.3 あたり) では、pop-3 となっている可能性があります。最近のものだと 大丈夫でしょう。」としておきます。 そういえば、あのときの Linux は…Netboy さんのとこだったかなぁ。 確認しておこう。 |
|
Netboy さんに聞いてきました。 http://www.lunartecs.ne.jp/~segabito/cgi/bbs/minibbs.cgi debian 系が pop-3 なのではないか、だそうです。 # Linux ってのは Slackware/Redhat/debian 系の3本柱があるんですよね? # で、Vine は debian 系…? |
|
失礼します. >Vine は debian 系…? いえ,Redhat系です. 設定ファイル作成部分のみDebian系の(古めの?)スクリプトを元に 独自のものを用意した...のかな,という感じです. インストーラは配色がいい感じの独自のものでした. Linux関連で'pop-3'になっているものは,どこか当時の Debianの香がする,ということだけ判りました. 今のDebian(2.2?)は判りません. おじゃましました〜. |
|
どうもです。 というわけで、やはり pop-3 な環境もあるようだ、ということを 追記しておきます。 |
|
68user様 こんにちは。 以前お世話になりました薩摩です。 その節はありがとうございました。 実は、68user様のecho-serverプログラムを参考にしまして ローカルで動くftpproxyを作ったのですが、echo-server プログラムにftp処理をくっつけただけのプログラムになって しまいまして、知り合いに配布しようかと考えているのですが、 CGIの引用は自由とは書いてありましたが、これは許可を 取らなくてはと思い、書き込みをしました次第です。 配布してもよろしいでしょうか? |
|
無償配布ならば (メディア代などは受け取っていいです)、 プログラムの再配布・改変はご自由にどうぞ。 ちゃんと決めないといた方がいいかなぁ。とりあえず GNU の 精神を尊重して、GPL チックに扱っていただけると うれしいです (いいかげんだなぁ)。 |
|
テステス。曜日を直したつもり。すいませんが、また cookie が クリアされてるかもしれません。 |
|
68user様 配布の許可ありがとうございます。 GNUの精神を尊重して、GPLチックに扱わせていただきます。 これからGNUとGPLを調べなきゃ。 本当にありがとうございました。 |
|
お久しぶりです。 前回、公開しないと言ってしまいましたが、virtual host対応にして、外部フィルタを 使用できるようにしたので、公開したいかと存じます(実はヘブライ語が表示できたので、 嬉しくって嬉しくって仕方が無い←68user様のおかげです、ありがとうございます)。 現在、 http://henika.virutalave.net/japanese/proxy.htm で、仮公開(どこからも linkしていない)しています。 正式な公開(linkを僕のサイトから張る)に先立ち、説明の書き方等で問題があるか どうか、是非ともご確認して頂きたいと存じます。お手数ですが、宜しくお願い 致します。いつになるか分かりませんが、同じような文面で、他言語にも翻訳しようかな、 とも、もくろんでいます。 因みに、 1)正規表現が分かってない and/or 恥ずかしいなぁ。 2)よっくもまぁ、ここまで支離滅裂に改造したなぁ。 3)たまに再起動しないと、clientからの新しいrequestを受け付けてくれない。 4)clientからのrequestが増えると、clientはrequestした状態で停止したように なってしまうらしく、proxyのlogを見ると、clientからrequestされているはずの URIがrequestされていない(Netscape Navigator 4.04[ja]で確認)。 5)変数名を短く、しかも4tabにしました。 6)日本語で掲示板に書き込む際には、その掲示板がjcode.plなどで日本語を処理して いないと、文字化けする可能性がある(だから、先ほどview-script.cgiで中身を確認 しようとしたのですが、失敗したので、やむをえず、MSIEで書き込んでいます)。 という、特徴があります。 追伸: 68user様の掲示板、cookieはクリアされてないみたいです。 あと、曜日は、以前のbugがあったままのほうが、嬉しいです・・・ |
|
タイプミスしました。 誤 : やむをえず、MSIEで ↓ 正 : やむをえず、proxyを経由しないで すみません・・・ |
|
すいません、ちょっとお聞きしたいのですが、viの設定はどこでどのように すればよいのですか?今の設定では画面の半分くらいまでしか文字が表示さ れないのですが。 ちなみにテラタームでそのマシンにつなぎに行ってます。 |
|
>68users様 以前配布の許可について質問させていただきました薩摩です。 このたびホームページを開設したしましたので、 展示しているスクリプトについてご意見を伺えると 幸いです。 よろしくお願いします。 http://koten.hypermart.net/ |
|
> 正式な公開(linkを僕のサイトから張る)に先立ち、説明の書き方等で問題があるか > どうか、是非ともご確認して頂きたいと存じます。 別に問題ないです (特に確認を求める必要はないですよ。念のため)。 時間がないので、すいませんがスクリプトは読んでません。 > http://koten.hypermart.net/ うちの NN4.61 で見ると、何も表示されないです。 > 今の設定では画面の半分くらいまでしか文字が > 表示されないのですが。 環境変数 TERM で何とかなりませんか。env TERM=cons25 vi とか env TERM=VT100 vi とか。あるいは TeraTerm の設定かも しれませんが、使ってないので詳しくはわかりません。 |
|
68user様; どうもありがとうございます。では、近日中に公開いたします。 ハリー様; ウィンドウサイズの縦が50行くらいで半分くらいになっているなら、 以下の方法がよいかもしれません。うまくいかなかったらすみません。 Setup->Terminalで、開いた画面で、 Terminal sizeのTerm size=win sizeのチェックボックスにチェック すると、うまくいきませんか? 因みに、Tera Term Pro version 2.3です。 僕は、これでうまくいっています(環境変数は特に設定していなかった ような気がします)。 |
|
>68users様 大変申し訳ございません。僕はIE5を使っているのですが、 見れていたので問題ないと思っていました。 自分自身の未熟さを知りました。すみません。 少し手直しをしたのですが、見れますでしょうか? http://koten.hypermart.net/ |
|
> 少し手直しをしたのですが、見れますでしょうか? 見られました。 個人的な意見ですが、串や鯖などの言葉は好きになれません。 もちろん薩摩さんのページですので、どういう言葉を使うかは 薩摩さんの自由なんですが。 # スクリプト自体に関する感想でなくてすいません。 |
|
トップページの 他では役に立たないスクリプト&ファイル が全て 500 エラーで見られないんです。 申しわけありませんが直して頂ければ... |
|
68user様 >見られました。 ありがとうございます。 >個人的な意見ですが、串や鯖などの言葉は好きになれません。 >もちろん薩摩さんのページですので、どういう言葉を使うかは >薩摩さんの自由なんですが。 いえいえ、私の方こそ気分を害させてしまいまして、すみませんでした。 本来ならば、来ていただけるだけでも光栄でしたのに、 このようなことになってしまい、私も反省しています。 こういった言葉を使うことがあまりよくないということが わかりました。勉強になりました。 ># スクリプト自体に関する感想でなくてすいません。 言葉の方も、手直しいたしましたので、今度来ていただける 機会がありましたときにお願いします。 それまで僕も精進して少しでも68user様に追いつけるように なりたいです。 本当にありがとうございました。そして、すみませんでした。 |
|
> トップページの 他では役に立たないスクリプト&ファイル が全て > 500 エラーで見られないんです。 ご報告ありがとうございます。直しました。 |
|
はじめまして。 いつも参考にさせていただいています。 いきなりな質問でなんなんですが、私は現在PerlでのWebオートパイロット スクリプトを開発中でして、ちょっとお聞きしたいことがあります。 作業ディレクトリが./として、ダウンロードしてきたファイルを ./dir/fileに保存しようとしたとき、open(FH, ">./dir/file") ではdieしてしまうんです。 原因は./dirが無いからだ、というのは分かるんですが、ではその都度 mkdirしていかないとだめなんでしょうか? このmkdirも当方の環境がWindowsのせいかうまくいきません。 `md dir`とかは汎用性が著しく無くなるので避けたいです。 打開策があるなら是非ご教示ください。 上でも少し触れましたが、当方の環境はWindows98+ActivePerlです。 |
|
> ではその都度 mkdirしていかないとだめなんでしょうか? そうです。 > このmkdirも当方の環境がWindowsのせいかうまくいきません。 Windows で mkdir が失敗するとは初耳ですが、本当でしょうか? どういう風に書いてるんですか? # Windows + perl の環境がないので試せませんが。 それはそれとして、perl5 なら深い階層のディレクトリを 一発で mkdir してくれる File::Path という標準モジュールが あります。詳しくは perldoc File::Path で。 |
|
> Windows で mkdir が失敗するとは初耳ですが、本当でしょうか? > どういう風に書いてるんですか? 申し訳ありません、気を取り直してもう一度試してみるとうまくいきました(^^; と言うかmkdirで失敗する現象が再現しません。 またWindowsのファジーさにやられた気がする・・・ お騒がせしました。 一応、 mkdir "./dir", 0604; と言う感じで書いてます。 以前はエラーメッセージは出ないものの、ディレクトリが作成されていない と言うような状況でした。 > それはそれとして、perl5 なら深い階層のディレクトリを > 一発で mkdir してくれる File::Path という標準モジュールが おぉ、見てみます。 ありがとうございます。 と、言うわけで、失礼しました。 |
|
先日はジンソクな対応ありがとうございました。 grep について質問なのですが、analog で apache のログを解析するとき /member/ 以下が邪魔なので grep などにて `/member/' の文字が入った行を 取り除きたいのです。が、マヌアルを見てもそれらしきオプションが見当たりません。 もしなにか方法があったら教えてくださいませ。 |
|
grep -v /member/ filename でいいですか? |
|
> grep -v /member/ filename あ〜〜〜〜できましたわぁ〜〜感謝感激 よく読んでなかったですね… ありがとうございましたー |
|
はじめまして。 「他では役に立たないスクリプト&ファイル」のうち、 nslookup.cgiは、他の方のものと比べ複数入力が可能な点でいいなと思い、 何とかこちらの環境でも使えるように試行錯誤したのですが、 結果表示の際に「ホスト名」「IPアドレス」と表示されるべき部分が、 うまく表示できません(ナカグロ=黒点になる→文字化け?)。 実質的な実りの部分は全然問題ないのですが。 ソース中、put_data のサブルチに渡している引数だと思いますが、 $desc のローカル変数部分の文字化けが絡むのでしょうか。 Windowsの環境でメモ帳などでつくるため、nkfのオプションは -s に しました。nkfより遅いと言われる jcode.pl も試しましたが不発でした。 あるいはやり方(書き方)が間違っているのでしょうか、 何かアドバイスをいただければ幸いです。 |
|
> 結果表示の際に「ホスト名」「IPアドレス」と表示されるべき > 部分が、うまく表示できません 余計な部分をどんどんコメントアウトしていって、 実質 print "ホスト名\nIPアドレス" だけのスクリプトに しても化けますか? またヘッダを Content-type: text/html; charset=Shift_JIS Content-type: text/html; charset=ISO-2022-JP などと出力して、ブラウザに明示的に文字コードを伝えても ダメですか? それでもダメならソースそのものを見せて下さい。 # どこかにそのまま置いてもらえると、文字コードなどが # わかるので調べやすいです。 > $desc のローカル変数部分の文字化けが絡むのでしょうか。 ということはないと思います。 > Windowsの環境でメモ帳などでつくるため、nkfのオプションは > -s にしました。 nkf は、CGI の出力を JIS にするために使っているだけです。 ・スクリプトを SJIS にして、出力も SJIS ・スクリプトを EUC にして、出力も EUC などという場合は、nkf は不要です。 |
|
はじめまして、yujiといいます。 たびたび参考にさせていただいています。(^^) アクセス状況チェックでは、1時間おきに更新されていますが、 これは、どのようにして定期的にプログラムを 実行させているのでしょうか? サーバー上では、cronが利用できると思うのですが、 プロバイダのほうで提供されてたりするのでしょうか。 それとも他のサーバー上で実行されているのでしょうか。 あと、linux上でPerlを書いているのですが、 LANカードとPPP接続を行った場合に、gethostbyname, inet_ntoa(inet_aton())のどちらを使ってもLANカードの アドレスが取得されてしまうのですが、 PPP接続のアドレスを取得する方法というのは、なにか ありますでしょうか? ifconfigでpppの部分だけ切り出そうかとも思ったのですが、 exec('ifconfig''); の出力をどうやって拾うのかがわかりません。(^^; なにかアドバイスなどありましたら、どうぞよろしくお願いします。 |
|
> アクセス状況チェックでは、1時間おきに更新されていますが、 cron でやってます。 http://X68000.startshop.co.jp/~68user/cgi-bin/view-script.cgi/.crontab のようなファイルを % crontab ~/.crontab として設定します。 > LANカードのアドレスが取得されてしまうのですが、 外部にソケットで接続して、getsockname で取得できるませんか? (試してません) > exec('ifconfig''); Linux の ifconfig がどういう出力をするのかわからないのですが、 open(IN,"ifconfig |"); while (<IN>){ if ( m/ppp.*(\d+\.\d+\.\d+\.\d+\)/ ){ $ip = $1; } } close(IN); という感じでしょうか。 |
|
お返事、どうもです。(^^) そうなんですか。>cron ちなみに、cronは、 どこのプロバイダでも利用できるものなんでしょうか? telnetができるところなどに限定されるんでしょうか。 >%crontab ~/.crontab 外部に接続すると、そのソケットのアドレスは、 グローバルなIPアドレスでないと困りますから、 それをgetsocknameで取得するということですよね。 ばっちりでした。(^^) Linuxのifconfigは、 (略 lo eth0など) ppp0 Link encap:Point-to-Point Protocol inet addr:*.*.* P-t-P:*.*.*.* (略) のようなカタチでして、水平タブなどを取り除いて、 .*?の最小マッチングを試してみたところ、取得できました。 外部コマンドの出力は、パイプを利用して取得すると。(メモメモ) 長くなってすいません。(^^; 今後とも、どうぞよろしくお願いします。 |
|
> ちなみに、cronは、どこのプロバイダでも利用できるものなんでしょうか? 普通の UNIX なら、おそらく使えます。ただし、 http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=73 のように、cron を使えないようにしているプロバイダもあります。なお、 http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=74 では、ソースをコンパイルすれば使えるかのような発言をしてますが、 ソースをコンパイルしても無理です。 # /var/cron をいじるために、root の権限で suid を # 立てなければいけないので。 > telnetができるところなどに限定されるんでしょうか。 そう思って下さい。crontab コマンド自体が使えるなら CGI や ~/.forward 経由でできるかもしれませんが、管理者に断らず 勝手にやるのはお勧めしません。 # CGI が nobody 権限で動いているサーバなら、nobody 権限で # cron のデータが設定されるわけで。 |
|
unixで、sqlファイルを開き、中のコードを見れる状態にしただけでは、 書きこみモードにしない限り、 SQL文の書きこみ、変更はできないようになっているのでしょうか? |
|
HP-UX9.06の内蔵HD(/ディスク)がfsckに引っ掛かってしまい、 立ち上がらない現象が発生しています。 ついては、CD-ROMからブートして上記HDをfsckに掛ける必要があるかと 思われますが。 そこで、実際にどのメディアを使い、どのような操作をすべきか 教えて下さい! |
|
> ブラウザに明示的に文字コードを伝えても > ダメですか? それでもダメならソースそのものを見せて下さい。 > # どこかにそのまま置いてもらえると、文字コードなどが > # わかるので調べやすいです。 ヘッダ対策はしてたのですが。 ご迷惑をおかけしますが、ソースをアップしてみましたので、 ご覧いただけますか。 http://www.hatsumei.psiweb.com/IPconvert_3.cgi.txt > nkf は、CGI の出力を JIS にするために使っているだけです。 > ・スクリプトを SJIS にして、出力も SJIS > ・スクリプトを EUC にして、出力も EUC > などという場合は、nkf は不要です。 知識不足でお恥ずかしいです。勉強になりました。 |
|
すいません。アドレス間違えました。 正 → http://www.hatsumei.ab.psiweb.com/IPconvert_3.cgi.txt |
|
http://www.wakusei.ne.jp/twn/lng/red/wwwlng.cgi?show+200005/00050026.txt と同じですかね。SJIS の全角空白の2バイト目が @ のコードと同じなので、 print " $desc = $after<br>\n"; で化けているんでしょう。例えば、SJIS で @a=(1,2,3); print " a"; とすると、@a と書いてないのに 1 2 3 と表示されるはずです。 対策としては、スクリプトを EUC にするか、 print ' '; # 全角空白2つ print "$desc = $after<br>\n"; がお手軽でしょうか。 > HP-UX9.06の内蔵HD(/ディスク)がfsckに引っ掛かってしまい、 > SQL文の書きこみ、変更はできないようになっているのでしょうか? HP-UX も SQL も使ったことがないので わからないです。 |
|
68user様。 やはり文字化けでしたか、ありがとうございました。 SJIS での一部の漢字と @ の文字化けは知ってましたが、 全角空白2つでも化けるとは知りませんでした。 教えていただいた「対策」もいいと思いましたが、 print " \ $desc = $after<br>\n"; と、全角空白の一つ目と二つ目の間に、 エスケープ用にメタキャラクタ \ を置いてみると ソース的にすっきりするかなと思い、 やってみたらこれでうまく表示されました。 いやぁ、とほほさんのところも覗いてきましたが、 漢字コードひとつとっても、奥深いですね。 ほんとにお世話になりました。ありがとうございました。 |
|
別に全角空白が2個だからまずいわけではなく、 \x81 @ $ d e s c となるので、@$desc という配列 (シンボリックリファレンス) を表示しようとしているのでしょうから、 > 全角空白の一つ目と二つ目の間に、エスケープ用に > メタキャラクタ \ を置いてみると で本当にうまくいくのか疑問です。確かでしょうか? それとも jperl だからうまくいく、ということでしょうか。 なお、FreeBSD+perl5.00503 では $desc = 'abc'; print " \ $desc\n"; ではダメでした。 |
|
> で本当にうまくいくのか疑問です。確かでしょうか? 再度確認しましたら、文字化けはしていないのですが、 インデント、つまり空白2文字分の字下げはうまくいっていませんでした。 その分が、つめられて行頭に配置されます。 > それとも jperl だからうまくいく、ということでしょうか。 ローカルでなく、プロバイダの Appacheサーバ上ではありますが。 でも、疑問が。 > print ' '; # 全角空白2つ > print "$desc = $after<br>\n"; これでやってみましたが、syntax errorを返してきました。 上の2行目が next token ??? なのだそうです。 エンジンで検索してみましたが、意味がわかりませんでした。 セミコロンは打ってるし・・・。 |
|
はじめまして。 ヘルツォークで検索したら、貴サイトにたどりつきました。 最近私はヘルツォークツヴァイのようなゲームを 自作してみようという主旨のサイトをつくりました。 まだ内容はないのですが、よかったら見て下さい。 トップページから最強の敵を創造る会へどうぞ。 メイリングリストも参加募集中です。 プログラミング好きの方でツヴァイ好きの方、 共にヘルツォークの続編(みたいなもの)を作りませんか。 |
|
> インデント、つまり空白2文字分の字下げはうまくいっていませんでした。 半角空白になってませんか? > これでやってみましたが、syntax errorを返してきました。 > 上の2行目が next token ??? なのだそうです。 タイプミスだと思いますが、直らなければ再度 どこかに置いて、見せて下さい。 > 最近私はヘルツォークツヴァイのようなゲームを > 自作してみようという主旨のサイトをつくりました。 ゲームをやらないのでよくわかりませんが、最強の 思考ルーチンを作ろう的なページですか。いろんな 思考ルーチン同士を戦わせると面白そうですね。 昔 I/O でそういう記事があったっけなぁ。 |
|
どうも、yujiです。(^^) 今、いろいろなサーバーにアクセスして、 HTMLファイルをダウンロードするというプログラムを作成しているのですが、その中にダウンしていると思われるサーバーなどが ありますと、そこで処理が中断されてしまいます。 そこで、タイムアウト処理のようなものを実装して、 ある程度経過してもダウンロードできないようなら、 次のURLに進むようにしたいと考えています。 こういった場合、どのようにして、 タイムアウト処理を実装したらよいのでしょうか? forkなどで子プロセスを作成するのでしょうか。 アドバイスなどありましたら、どうぞよろしくお願いします。(^^) |
|
fork するなら、子プロセスで $SIG{ALRM} = \&timed_out; sub timed_out { die 'TIMED OUT'; } alarm(10); while (<SOCKET>){ print $_; } alarm(0); などとすればいいでしょう。また、die したくなければ $SIG{ALRM} = \&timed_out; sub timed_out { die 'TIMED OUT'; } eval { alarm(10); $buf=<SOCKET>; alarm(0); } if ( $@ =~ /TIMED OUT/ ){ タイムアウトになった } と eval で囲めばよいです。 4引数 select を使う方法もありますが、gethostbyname や connect で時間がかかると対応できません。 # connect はノンブロッキング IO を使う方法がある。 並行して gethostbyname するにはどうしたらいいのかなぁ? |
|
すばやいお返事とサンプルコード、 ありがとうございます。 $SIG{ALRM}とevalを用いることで、 うまくできました。(^^) DNSサーバーエラーなどで、 connectで時間がかかる場合があるということで、 connectと<SOCKET>の部分をalarmで 囲むカタチで利用させていただきました。 connectの部分については、 最初にIO::SocketのTimeoutを指定してみたのですが、 うまくいきませんでしたので。(^^; $SIG{ALRM}=\&timed_out;の\は大切なのですね。 意味合いについて、調べてみたいと思います。 今後とも、よろしくお願いします。(^^) |
|
68user様、遅ればせながら、 >> インデント、つまり空白2文字分の字下げはうまくいっていませんでした。 > 半角空白になってませんか? どうやら、そのようでした。 ただ、ウインドウズ環境のテキストエディタでは、 全角空白というのが打ちにくいように思いました。 半角空白二つならべて、それで同じかなんて思ってました。 私の知識不足なのかもしれませんが。 ちなみに、下のように書いて、やっとインデントができました。 print ' '."$desc = $after<br>\n"; |
|
> 半角空白二つならべて、それで同じかなんて思ってました。 半角空白を2つ並べてもブラウザに反映されないのは、 perl とは全く関係なくて、出力しているのが HTML だからです。 HTML 的に言えば で空白を表現する方がいいでしょう。 わかっておられるかもしれませんが、念のため。 |
|
どうも、yujiです。(^^) Web上でアカウント発行がいろいろなところで行われていますが、 いたずら防止などもあり、入力したメールアドレスに、 登録内容の確認のメールを送って、再度返信してもらうなど さまざまな方法がありますが、こういったプログラムは、 どのような仕組みになっているのでしょうか? かなり漠然とした質問で申し訳ないですが、(^^; なにかご存知でしたら、どうぞよろしくお願いします。 |
|
0. メールが返ってきたらメール処理プログラムが実行されるよう、 ~/.forward で設定しておく 1. CGI でメールアドレスを入力してもらう。 適当なファイルにメールアドレスを記録して、メール送信 この時点で CGI プログラムは終了。 2. 訪問者がメールを受け取り、再度返送 3. メールが届き、~/.forward で設定したプログラムが実行される 記録しておいたメールアドレスと照合して、正しければ OK。 …てな感じでしょうか。 |
|
またまたすばやいお返事、どうもです。(^^) なるほど。>0,1,2,3 ~/.forwardについては、初耳でして、勉強になります。 あと、メールのヘッダやフッタに自動的に広告などをいれている メールを見かけますが、ああいうものは、 どういったカタチで実現しているんでしょうか? CGIなどを使って、というカタチでしょうか。 |
|
こんばんは。某ラウンジで何度かお世話になりました。 さて、さっそく質問なのですが、ファイルマウントについて教えてください。サーバを一台まるごと借りたはいいのですが、なかなかUNIXが理解できずにいます。 /etc/fstabの中身は一部次のようになっています。 /dev/hda1 / ext2 defaults 1 1 /dev/hda2 /var ext2 defaults 1 2 /dev/hda3 swap swap defaults 0 0 この/dev/hda2を/homeにし、/varは/dev/hda1内に移したいのですが、果たしてできるのでしょうか。ハードディスクのフォーマットなどをしないで行ないたいのですが。/varを一瞬でも消せればいいのですが、/varの中は常駐プログラムなどが収まっているので無理なように思えます。回線経由ですので、telnetなどは起動したままでなければいけません。 ちなみにOSはTurboLinux Server 1.0Jです。何かいいアイディアや参考になるウェブサイト・本があればご教示ください。情報が足りなければご指摘ください。 |
|
> この/dev/hda2を/homeにし、/varは/dev/hda1内に移したいのですが、 > 果たしてできるのでしょうか。 できなくはないでしょうが、かなり怖い作業ですね。 特にリモートでの作業になってしまう、というのが。 1. cd /var 2. シングルユーザモードに移行 3. 不必要なプロセスを全て殺す 4. /etc/fstab から /var のエントリを削除 5. mkdir /newvar 6. cd /var; tar zcvf - . | (cd /newvar; tar zxvfp -) 7. mv /var /oldvar 8. mv /newvar /var 9. システムをリブート かなぁ。7 から 8 の間で、/var 以下のファイルをオープンしようと するプロセスがあれば、その動作は失敗します。また、(おそらく) 最初に /var 以下のオープンしているプロセスは、7 を行っても 引続き /oldvar 以下のファイルをオープンし続けているので、 最後にリブートが必要です。 /home については、上の作業をした後、 A. シングルユーザモードに移行 B. /etc/fstab に /dev/hda2 /home ext2 なエントリを追加 C. /dev/hda2 を /newhome としてマウント D. rm -rf /newhome/* (フォーマット。newfs を使った方がよいけど) E. cd /home; tar zcvf - . | (cd /newhome; tar zxvfp -) F. mv /home /oldhome G. リブート H. rm -rf /oldhome でしょうか。 僕は Linux を触ったことがないので、コマンド名やオプションが Linux でも通用するかどうかはわかりません。事前に十分シミュ レーションしてから行って下さい。できれば Linux-users-jp や fj などで、 「…という作業手順でいのでしょうか?」 と質問した方がよいと思います。 # もし「それではうまくいかない」「こうすれば簡単だ」という回答を # もらったら、僕にも教えて下さい :-) なお、上記の通りにやってうまくいくかどうかは保証できません。 > あと、メールのヘッダやフッタに自動的に広告などをいれている > メールを見かけますが、ああいうものは、 > どういったカタチで実現しているんでしょうか? > CGIなどを使って、というカタチでしょうか。 CGI は web の仕組みであって、メールとは全く関係ありません。 # web 上でボタンを押すとそういうメールが送られる、 # というなら関係ありますけど。 確か、そういう機能を持ったメーリングリストプログラムが あったように思いますし、常に一箇所からしかメールが発信 されないなら、その部分でヘッダやフッタを追加してもいいです。 |
|
> 7. mv /var /oldvar おっと。マウント中のマウントポイントは mv できないかも (FreeBSD ではそうでした)。 一度 /dev/hd2 を umount すればいいですが、もし device busy などと怒られたら、umount -f で強制アンマウントできます。 本当は fstat や fuser で、/var 以下のファイルを使用している プロセスを調べて、それを殺してから umount するのが筋ですけど。 |
|
いつもお返事、ありがとうございます。(^^) 表現が悪かったですね。>CGI(^^; おっしゃるように、この場合は、必ずしもWWWサーバーと やりとりするわけではないですから。 perlやCによるプログラム でヘッダやフッターを処理したメールを、SMTPサーバーで 送信しているのか、それともSMTPサーバーのどこかで、 ヘッダやフッターを設定できるのかな、と思いまして。 今のところは、他の場所で使う予定はないですので、 自分で付加するプログラムを実験してみようと思っています。 下のメーリングリスト関連のリンク集を参考に、 いろいろなメーリングリストの特徴を勉強してみようと思います。(^^) http://yamanoya.ecs.cst.nihon-u.ac.jp/patio/ml/makeml/mllinks.html |
|
お返事ありがとうございます。 早速Linuxのメーリングリストに入る準備をしましたが、業務用に使っているわけではないし、物は試しと思って一発勝負をかけてみました。 % /usr/local/apache/bin/apachectl stop % fuser -k -m /dev/hda2 | /etc/fstab から /var のエントリを削除 ここで`umount /var`としたら'device busy'が出たので、深く考えずに再度`fuser -k -m /dev/hda2`としたら見事telnetが死にました。そこで % umount -f /var % mv /newvar /var % reboot この作業を管理会社の方にお願いしました。 | /etc/fstab に /home 追加 % mkdir /newhome % mount /dev/hda2 /newhome % rm -rf /newhome/* % cd /home; tar zcvf - . | (cd /newhome; tar zxvfp -) ここで何かエラーが出たのですが、読み飛ばし。 % mv /home /oldhome % reboot 再起動したらさっきのエラーが原因らしく/newhomeの中が空で、かつ/homeができていなかったので、 % cp -a /oldhome/* /newhome % mkdir /home % reboot 再起動中に混乱してきました。(そういえばさっきの/newhomeはどうなるんだ? `mkdir /home`は不要だったか?) % mount (あ、ちゃんと/dev/hda2 on /home type ext2 (rw)になってる。) % ls /home (中身もある。ひょっとして成功か?) というわけで、成功しました。(あるいは成功したように見えています。)一つ間違えば追加料金を払って再設定してもらうところでした。今までもこんな具合に、システムをほとんど理解しないまま手探りで運用してきました。もっとしっかり身に着けようと、本などを買って勉強してはいるのですが。 ただ、/newhomeと/homeが両方存在しています。/newhomeは消しても構わないと判断できるでしょうか。 |
|
> ただ、/newhomeと/homeが両方存在しています。/newhome は > 消しても構わないと判断できるでしょうか。 多分よいと思いますが、df -k して、別パーティションで あることを確認して下さい。また、本当にコピーできたか どうか du や diff などで確認して下さい。 > `mkdir /home`は不要だったか? /dev/hda2 を /home にする、ということなのでマウントポイント /home はマウントする前に mkdir で作成しなければなりません。 なお、マシンが手元にあるなら、シングルユーザモードで起動してから 作業をするのが正しいやり方です。 > perlやCによるプログラムでヘッダやフッターを処理したメールを、 > SMTPサーバーで送信しているのか、それともSMTPサーバーのどこかで、 > ヘッダやフッターを設定できるのかな、と思いまして。 SMTP サーバがヘッダやフッタに関与することはないと思います (そういうサーバが世の中に絶対ないとは言い切れませんが)。 ちなみにメーリングリストサーバの fml なんかは、ポリシー として、フッタを付けるような機能は実装しない方針だった ように思います (今はどうか知りません)。 |
|
はじめまして。 pl(cgi)で $A="abc"; この$Aに入っている“abc”をクリプト化したいのですが どのようにすればよろしいですか? |
|
Xwindowのソフト開発をやらなければいけません。が、まったく分かっていない状態だと思います。 サンプルプロを入力して起動させると、画面は表示されないままだんまり状態になります。 fputsのstdoutで処理通過点を表示させると、XtMainLoop()のところでだんまりになってる様です。 しかし、どのように原因を究明していいのか、ディバッグツールは何があるのか全く分かりません。 古いUNIXの本にadbと言うディバッグツールが乗っていたのでmanで説明を見て(と言っても英文なので見たつもり) いろいろ表示させて見ましたが、内容を見ても分からない状態です。 一体何をどうすれば、いやいや、何からどう始めれば、はたまたどんなマニュアルを購入すれば、少しはましな状態になるでしょうか? どうかお願いします。どんなヒントでもいいので教えてください。 順序が後先になりましたが、OSはSolaris7、言語はC、マシンはSUNです。 掲示板に書き込むのは初めてなのですが、これでよろしいでしょうか? でれでは・・・。 |
|
> この$Aに入っている“abc”をクリプト化したいのですが お望みのものかどうかわかりませんけど、 http://X68000.startshop.co.jp/~68user/webcgi/cryptogram.html など。 > fputsのstdoutで処理通過点を表示させると、 > XtMainLoop()のところでだんまりになってる様です。 僕は Xt のプログラムを作ったことがないのですけど、 XtMainLoop で戻ってこないのは正しいのではないですか? その中でイベント待ちをしているわけだから。 |
|
お返事どうもありがとうございます。 確かにおっしゃる通りです。正確に自分のQを伝えていません。ごめんなさい。 XtMainLoopでだんまりになっているのに、画面が表示されないのです。 色々悩んでリソースファイルと言う物が間違っているのかとか思うのですか・・ 自分が起動かけてる状態で、どのリソースファイルを見にいってるのかも分からないんです。 だから、本当にリソースファイルが問題なのかどうかも??? マニュアルによると、/usr/lib/X11/app−defaults と言うファイルだと書いてありますが/usr/libの下にはX11なるディレクトリはありません。 ではapp−defaultsはというと、いくつものフォルダーに存在しています。(ざっと40個位) はたしてどのファイルなのやら・・・・ こんな状態ではいつになったらソフトが完成するのやら・・と思うと気がめいってきます。 が、やらねば。 何かヒントをお願いします。 |
|
「僕の血の半分は地球人の血です!僕の父は地球人です!」「目を覚ませ!エイジ!」「基地の中には僕と同じ位の年の人もいるのです!」・・・レイズナーは一部が面白かったですね。エイジが全裸でカプセルに閉じ込められてる姿はドキドキものでした!二部のエイジはなんかオヤジっぽくてイマイチだと思ったのは私だけ? |
|
> レイズナービデオに取って見ていた女 すいません、おそらく あなたが見たコンテンツは SEGA BBS の過去ログです。 SEGA BBS は http://www.sega.co.jp/sega/p_cafe/bbs.html でやってますので、 そこに書き込んでみて下さい。 > XtMainLoopでだんまりになっているのに、画面が表示されないのです。 つまり、ボタンなどの簡単な部品を表示するだけのプログラムが 動作しない、と解釈していいですか? ソースが短いなら、見せて もらえばわかるかもしれませんが、わからないかもしれません。 > 自分が起動かけてる状態で、どのリソースファイルを見に > いってるのかも分からないんです。 truss コマンドで、どのファイルを open(2) しているか わかるでしょう。 > /usr/libの下にはX11なるディレクトリはありません。 ディレクトリは環境依存なので /usr/X11R6/lib/X11、/usr/X/lib/X11 など に置いてある場合もあります。 > ではapp−defaultsはというと、いくつものフォルダーに > 存在しています。(ざっと40個位) はたしてどのファイルなのやら・・・・ app-defaults/KTerm は何のファイルかご存知ですか? kterm が 起動時に読み込むリソースファイルです。 なんで kterm が app-defaults/KTerm を読むかというと、kterm の クラス名が KTerm だからです。そのクラス名というのは、 XtAppInitialize (古い Xt なら XtInitialize) の引数で指定します。 なので、「app-defaults/あなたの作ったプログラムのクラス名」という ファイルが存在すればそれが読み込まれますし、存在しなければリソースが 空になるだけです。 > はたまたどんなマニュアルを購入すれば Xt の本は結構あります。秋葉原などが近いなら、ちょっと覗いてみれば 結構見付かります。ただし、古い本が多いので、既に obsolete な関数 (例えばさっきの XtInitialize とか) を紹介していたりするのが難点。 あと、少し前の UNIX USER で、数回 Xt の説明が載ってました。 |
|
> XtAppInitialize (古い Xt なら XtInitialize) 違った。XtAppInitialize も obsolete でした。少なくとも X11R6.3 なら XtOpenApplication を使いましょう。 # From XtOpenApplication(3Xt) # XtAppInitialize and XtVaAppInitialize have been superceded # by XtOpenApplication and XtVaOpenApplication respectively. # # be supereded ≒ be obsolete と解釈してよいのだろうか? |
|
毎日どうもありがとうございます。感謝感謝です。 たくさんのコメントどうもです。 まず、app-defaultsファイルの件はtrussと言うコマンドで分かりました。 次に、XtOpenApplicationを使ってコーディングしてみましたが、(以下) disp=XtOpenApplication(app1,"xmfonts",NULL,0,&argc,argv,NULL, applicationShellWidgetClass,NULL,0); パラメータの値がよく分かりません。でもこれでコンパイルしたところ 以下のようなエラーでコンパイル出来ません。 内のX11のバージョンは分かりません。 cc /export/home1/sakou/srclib/cstlib/xmfonts.c -c -g -I /usr/openwin/include -I /usr/dt/include "/export/home1/sakou/srclib/cstlib/xmfonts.c", line 78: warning: improper pointer/integer combination: op "=" cc -o xmfonts xmfonts.o -lXm -lXt -lX11 -lm Undefined first referenced symbol in file XtOpenApplication xmfonts.o ld: fatal: Symbol referencing errors. No output written to xmfonts *** エラーコード 1 make: 致命的エラー: ターゲット `xmfonts' の構築用コマンドが失敗しました。 最後に、マニュアルは、地方にいるので書店にいってもX-windowsのマニュアル なんてほとんど皆無です。 どんなマニュアルがあるかも分からないのでネット上で一生懸命探しているのですが 内容が分からないのと、価格がPCの物と比べて高価なのとでなかなか 自分では決められない状況です。 もう一つ、自分の無知さがまた一つ分かりました。 X-windowsのプログラムはXlibだけでもコーディング出来るのですか? XツールキットとかMotifルーチンとかが無くても出来るのですか? XツールキットとかMotifルーチンは簡単にコーディングするための ライブラリーなのですか? ほかにOpenGLとかXveiwとかも聞きますがそれらの位置関係が全く 分かっていない事が分かりました。(今まではすべて使って初めてプログラムが 完成する。と思っていました。それなのにサンプルプロは様々な関数を 使ってあるのでなぜ???って) ではまた。byebye。です。 |
|
すいません、Xt のつもりで書いてました。Motif なんですよね。 Xt* のくだりは無視して下さい。その他は後ほどまた書きます。 |
|
> X-windowsのプログラムはXlibだけでもコーディング出来るのですか? > XツールキットとかMotifルーチンとかが無くても出来るのですか? > XツールキットとかMotifルーチンは簡単にコーディングするための > ライブラリーなのですか? 答えは全て YES です。Xt も Motif も最終的には Xlib の API を呼びます。 http://www.ainet.or.jp/~inoue/im/basic.html#api が参考になるでしょうか。ただし、Xlib だけでやろうとすると 入力フォーム一つ作るのにも相当苦労するでしょう。 # この方のページはとても質が高いので、UNIX を使う人は # 一通り目を通しておいた方がよいと思います。 ちなみに、 > 極端な話、Xlibを使わずソケットプログラミングで直接 X protocol を > 話すXクライアントアプリケーションを作ることも原理的には可能です。 というのは、/tmp/.X11-unix/X0 に対して UNIX ドメインソケット経由で X プロトコルを話すとか、ポート 6000 に対して X プロトコルを話す、 ということです。 > ほかにOpenGLとかXveiwとかも聞きますがそれらの位置関係が全く 僕もわかってません。なので、偉い人に聞いてきました。 http://www.energy.ee.ehime-u.ac.jp/~flathill/FreeBSD/chat/log/200006/20000610.html の (Jun 10 00:26)[go] を読んで下さい。 # …全然わかってなかったんだなぁ。 あと、OpenGL は 3D を描画するためのライブラリです。 > 最後に、マニュアルは、地方にいるので書店にいってもX-windowsの > マニュアルなんてほとんど皆無です。 こっちも http://www.energy.ee.ehime-u.ac.jp/~flathill/FreeBSD/chat/log/200006/20000611.html をどうぞ (6/11 07:00 あたりにならないと作成されません)。 > 次に、XtOpenApplicationを使ってコーディングしてみましたが やはり Motif であっても XtOpenApplication を使うべきだとは 思いますが、お使いの openwin が X11R6.3 より古い規格に準拠して いるのではないかと思います。 > 内のX11のバージョンは分かりません。 man X とすると、最後に X Version 11 Release 6.3 などと書いてあると思います。 以下、ひとりごと。Perl/Tk 800.xxx 系の日本語化パッチ。 http://opinion.nucba.ac.jp/~tsutomu/perltk/jp-patch.html やっと見付けられた…。 |
|
グラデゥウスの基盤手に入ったがどうしても無敵技で来ません 教えてください 4面でフォースフィールドつけながらクリアーして そのあとまたはりなおすんですか?? |
|
私は課題研究という授業で ゲーム業界についてというテーマで いろいろ調べています。 その中で、ここが検索に引っかかりました。 日付から見てかなり前のものだったようですが、 中古ゲーム販売についての論争、 とても参考になりました。 当然、こんなテーマで調べているのですから 私自身ゲームもやりますし、 中古店も利用しています。 いろいろ考えさせられました。 参考といってもあの内容をそのまま引用したり するわけではありません。 調べる範囲に中古市場を加えることを 視野に入れて・・・変な文章・・ とにかく、それを加えることを決めました。 報告書作成まで、日にちが余りないのですが がんばってみようと思います。 勝手ながら少しばかりご挨拶をさせて いただきました。 |
|
おひさしぶりです。いつぞやは、お世話になり、ありがとうございます。 早速ですが、質問がございます。 echo-3.htmlには、 > このように SOMAXCONN を指定すると、 OS が許す最大値を意味します。 とあって、且つ、 > FreeBSD2.2.7 では /usr/include/sys/socket.h で > #define SOMAXCONN 128 >と定義されているので、 とあります。 で、以下の1)と2)のどちらに解釈していいのか悩んでいます。 1) この例の128は、クライアントや言語に依らず(?)、OSによって 一意に決定されるもの。 2) この例の128は、クライアントや言語に依って、決定されるもの。 (∵128と書くということは、減らすのはもちろん、増やすのも可能?) (これが真なら、いじる方法はありうるでしょうか?) なぜ、このような質問をするかというと、 a) 事の発端は、自作proxy( http://henika.virtualave.net/view.cgi?0 ) で、 http://henika.virtualave.net/japanese/browsers.htm を (厳密に言うとローカルマシン上でテストしてます)見に行くと、画像の 枚数が多いせいか、全ての要求を受付てくれない(logで確認済み)。 b) でも、自作proxyを経由しないと、ちゃんと表示される。 c) そこで、SOMAXCONNをいじれないか? と、思ったからです。 多分、いじれそうにないな、とは思っているのですが、もし、いじる 方法(perlのコンパイルを除く)をご存知でしたら、ご教授願いたく、 よろしくお願いします。 因みに、環境はwindows98, perl -vでは、 This is perl, version 5.005_03 built for MSWin32-x86-object と表示されます(失礼ながら、windowsをご存知ではないのは、過去ログ から、承知しておりますので、perlでいじれる方法、ということで、 お願いします)。 ・・・とかいいつつ、delegateのように、delimiter(但し/-_-ではなく/)で imgタグをproxy経由させないように改定してしまいましたが、気になって 気になって仕方がない・・・ |
|
すいません、先の自作proxyは、あれ単体では動作しないので、 もし、眺めるのでしたら、お手数ですが、 http://henika.virtualave.net/view.cgi?0 を適当な名前に、 http://henika.virtualave.net/view.cgi?1 をfilter.plに、 http://henika.virtualave.net/view.cgi?2 をhtrans.plに してください。 宜しくお願いいたします。 参照 http://henika.virtualave.net/japanese/proxy.htm |
|
> グラデゥウスの基盤手に入ったがどうしても無敵技で来ません わからないです。というか、無敵技があったのか。 # ちなみに基盤じゃなくて基板です。 > 参考になりました。 と言っても、僕が書いた文章ではないので扱いには お気をつけ下さい。まぁ、 > 参考といってもあの内容をそのまま引用したりするわけではありません。 ということなので、心配はしておりませんけど。 > 1) この例の128は、クライアントや言語に依らず(?)、OSによって > 一意に決定されるもの。 です。 (FreeBSD では) この数はカーネル内部に書かれており、動的に数を 変更する仕組みもないので、一般ユーザでも root でも変えられません。 どうしてもというならカーネルの再コンパイルでしょうか。 とはいえ、他の UNIX 系 OS では動的に変更できたりする *可能性* はあります。 # ioctl とかで変更できても不思議ではないけど、できなくても不思議ではない。 > 画像の枚数が多いせいか、全ての要求を受付てくれない(logで確認済み)。 なお、FreeBSD では SOMAXCONN は128で、128*1.5=192 なので、待たせて おけるクライアント数は最大 192 になります。しかし、本当にそれくらいの コネクションが張られているのでしょうか? netstat で見ると ESTABLISHED に なっているのが そんなにたくさんありますか? あと、お使いの環境での最大接続数を調べるには、1つのポートにがんがん 接続してみればわかると思います。 なお、http://X68000.startshop.co.jp/~68user/net/echo-3.html には > もし backlog 以上のクライアントが同時に connect してきた場合は、 > サーバは接続を拒否するか、何もレスポンスを返しません。 とありますが、おそらくこれは間違いで、拒否することはありません。 カーネルレベルで無視するだけで、サーバプログラム側はクライアントが やってきたことすら検知できません。 一方クライアントからは TCP の 3way handshake の1発目の SYN に対する 返事が返ってこないので、そのうち SYN を再送、という挙動をすると思います。 |
|
> ioctl とかで変更できても不思議ではないけど、できなくても不思議ではない。 ioctl はありえないですね。デバイスじゃないんだから。 |
|
ご回答、ご指導、どうもありがとうございます。 >カーネルの再コンパイルでしょうか。 こ、この時点で、止めが刺された気がしました。A^^; 多分、windowsでもあてはまるのでしょう。 >しかし、本当にそれくらいのコネクションが張られているのでしょうか? > netstat で見ると ESTABLISHED になっているのが そんなにたくさんありますか? 早速、試してみました。 netstatで、ESTABLISHEDとなった本数(数回やった場合の最大)を以下に示します。 Local Address = n:80 は、 2 Local Address = n:8080 は、 5 Local Address = n:15xx は、 7 (15xx=1500番台) http://henika.virtualave.net/japanese/browsers.htm には、このページ+36枚画像 あるので、ブラウザと思われる1500番台が、想像ですが、20近くないとおかしいような 気がします。この時点で、SOMAXCONNの値は1桁台と推測しました。 この時点で、自動的に、 >あと、お使いの環境での最大接続数を調べるには、1つのポートにがんがん >接続してみればわかると思います。 を、満たしてしまっているような気がします・・・ 因みに、SOMAXCONNをperlで表示させると、 5 でした(以下を実行)。 use IO::Socket; print SOMAXCONN; (思いつきで試したので、あまり意味がないかもしれません・・・) これが正しければ、待たせておけるクライアント数は、5+alphaで、先の推測には 合致してるなぁ、と思い込んでいます。 う〜ん、windowsって、少ないのかなぁ? なんかうそっぽいなぁ。 >カーネルレベルで無視するだけで、サーバプログラム側はクライアントが >やってきたことすら検知できません。 なるほど。windowsでも同様であれば、当方の現象(全ての要求を受付てくれない) も納得いきます(logにクライアントから要求されるはずのイメージ・ファイルが 要求されていないようになっている)。 >一方クライアントからは TCP の 3way handshake の1発目の SYN に対する >返事が返ってこないので、そのうち SYN を再送、という挙動をすると思います。 申し訳ないのですが、このあたりは、まだよくわからないので、確かめられません。 今後の課題・勉強材料とさせてください。 |
|
> これが正しければ、待たせておけるクライアント数は、5+alphaで、 > ... > う〜ん、windowsって、少ないのかなぁ? なんかうそっぽいなぁ。 うーん、ちょっとうそっぽいですねぇ。いくらなんでも一桁ってのは…。 SOMAXOCNN が誤って5になってしまったから、それ以上接続できない という可能性はないですか? backlog に 10 や 100 を渡すと どうなりますか? 僕はこれ以上わかりませんが、もし Winsock に詳しい方が おられましたら教えて下さい。 |
|
お久しぶり(?)です。 色々情報をもらって少し頑張って見たつもりですが、もーイヤ!と言う感じです。 やっぱり自分にはX−windowのプログラム作成は無理なんでしょうか? そんなに簡単に出来るとは思っていませんが、でもいまの状態では全く持って・・ でも一つだけ決めた事があります。それは、Xlibだけで作成するのはやめよう と言う事。馬鹿げた事を、と思わないでください。この結論を出すのもとっても 大変な位にX−windowに関して無知なんです。 まだ迷っているのはMotifを使うか使わないかと言う事。 で、とりあえず何かを始めないと、と思い、XtとMotifをこだわらずに( これがまた問題なのですが)サンプルプロをアレンジして、自分の作りたいアプリ に近づけようと努力しました。が、もーイヤと言うかダメと言う感じです。 Xlibだけを使用したサンプルプロにイベント処理(具体的にはPointerMotionMask) があったので、そのサンプルを加工して、画面に現在のカーソル座標を表示させる 所はOKになったのです。でもXtで作り直そうと思って関数を探して(これも 大変な作業です 自分には)XtAddCallback、XtAddEventHandlerを使おうと思ったまでは 良かったのですが、パラメータ中のイベントマスク名が何を見ても一部しか載って いないのです。PointerMotionMaskに相当するベントマスク名が・・・・・・・!! これじゃー全然はかどらないよ!!って訳です。 やっぱり絶対にマニュアル不足ですかね? それともマニュアル以前の問題ですかね? どう思われます? 率直な意見を教えてください。 (でも「あなたには無理です」と言う究極の意見は勘弁してください。首が かかっているんです) 愚痴になってしまいました。ごめんなさい。 ここしか頼るところ無くって、申し訳無いと思っているのについ書かずに いられないんです。 また来週元気出して頑張るぞ!! じゃあまたネ!! |
|
はじめまして。 ずっとROMオンリーだったのですが、書きこんでみます:) @へにかさん >因みに、SOMAXCONNをperlで表示させると、 5 でした winsock-ver1のSOMAXCONNはホントに5です。ネタじゃなく。 winsock-ver2になってはじめて0x7fffffffになりました。 思うに、perlはwinsock-ver1のヘッダを使っているのではないでしょうか。 さらに、テストされているブラウザはIEかネスケだと思いますが、 どうもブラウザ側が、5より多くのコネクションを張らないようですね。 これはおそらく、前述のwinsock-ver1にも対応させるためだと思われます。 #自信は無いです(笑 なので、プロキシ側でいくらbacklogを増やしても、 ブラウザ側が接続しに来てくれないんだと思います。 @jamesさん XとMotifを使っての開発は、かなり昔にHPとSolarisで行った事があるのみなのですが、 #もうほとんど忘れています(苦笑 その時に非常に役に立った書籍として、 ・日刊工業新聞社「X-Window Ver.11 プログラミング」 ・日刊工業新聞社「OSF/Motifプログラミング 」 の2冊をあげてみます。 見た目がかなり初心者向けっぽいのですが、 なにもわからなかった頃から、だいぶ理解できてきた頃まで、 ずっと役に立ってくれました。 オススメです。 #ちょっと検索かけたら片方だけでてきました↓ #http://www.pro.or.jp/~fuji/computerbooks/unix-x/osfmotif.nikkan.html @68userさん どうも、はじめまして。 いきなりでアレなのですが、:) httpサーバがContent-Lengthを返してくれないコンテンツには、 クライアント側からどのように対処するべきでしょうか。 現状の自作proxy(この書き込みもコレ経由です)では、 サーバ側からの切断を待っている状態ですが、 どうもこちら側から切らなければいけないようで、 毎回タイムアウトで自分から切るハメになっています。 #例えば、下でへにかさんが示しておられるURLから示されているGIF画像もそうですね。 IEやらネスケやらのブラウザはやってくれているようなので方法はあると思うのですが、 探し方が悪かったのか見つかりませんでした。 なにか、普通こうするだろ、って言うような方法というのは有るのでしょうか? もし知っていらっしゃったら、ぜひ教えてください。 よろしくおねがいします。 ・・・でも、画像ファイルの中を見て長さを取得してたりしたらイヤだなぁ(笑 |
|
68user様、hsj様、ご教授、どうもありがとうございます。 68user様>backlog に 10 や 100 を渡すとどうなりますか? backlogを、思い切って128に増やして、netstat 1 で、1秒刻みで出力した結果を 以下に示します。 前回、netstatを、(間抜けなことに)手動で何回も実行した結果を示しましたが、 そのためか、前回とは異なる結果になってしまいました。すみません・・・ backlog = 128 Local Address = n:80 は、 7 Local Address = n:8080 は、 5 Local Address = n:14xx は、 12 (14xx=1400番台) backlog = SOMAXCONN Local Address = n:80 は、 8 Local Address = n:8080 は、 5 Local Address = n:15xx は、 12 (15xx=1500番台) Local Address = n:ingreslock は、 1 (←ほとんど出ない) 上記の結果から、backlogを増やしても、大差ないみたいです。 hsj様のご示唆から考えて、proxyを経由しない場合を調査しましたので、以下に 示します(上記の結果に対応しています)。 Local Address = n:80 は、 5 Local Address = n:16xx は、 5 (16xx=1600番台) (但し、Netscape3.0) 確かに、おっしゃるとおり、 hsj様> 5より多くのコネクションを張らない ようですね。 でも、proxy経由しないほうが、ちゃんと画像が表示されるので、今、僕は 混乱の極みです(今までも混乱してますが)。 proxy経由すると、コネクションが張られっぱなしみたいなので、どうも、 backlogが怪しいわけではない??? となると、proxyが黒ですね。 hsj様>httpサーバがContent-Lengthを返してくれないコンテンツには、 hsj様>クライアント側からどのように対処するべきでしょうか。 このご質問が、良い示唆になって、ありがたいです。ここを対処すれば、 >へにか@箇条書き [URL] 2000/06/14 (水) 23:02:08 >a) 事の発端は、 {略} >全ての要求を受付てくれない(logで確認済み)。 が、うまく解決できそうな予感がします。 追伸1: だんだん、わかってきたような気がして(実際にわかってるかどうかはおいといて)、 嬉しいです。こちらの掲示板でお世話になって、よかった、と思っています。 追伸2: 明日(日曜)から、1週間(弱?)程度、出張に行ってきますので、書き込みが 遅れるかも知れません。色々アドバイス頂いているのに、大変申し訳ないです。 |
|
@james さん > それは、Xlibだけで作成するのはやめようと言う事。 賢明な選択でしょう。 > やっぱり絶対にマニュアル不足ですかね? だと思います。この前のチャットのログや hsj さんの情報を 元にして何か本を買わないと苦しいと思います。 UNIX で GUI アプリを作るなら、Gtk+、Qt、Perl/Tk などの 選択肢もあります。入門書は結構出てます。ただ「困っても その本を読めば絶対にわかる」といったレベルまで 徹底的に 解説した本はないですね。 ただ、仕事に使えるほど熟成しているかというと、ちょっと不安ですが。 # Gtk+ や Qt って、もう API の仕様は固まったのかしら? @hsj さん > winsock-ver1のSOMAXCONNはホントに5です。ネタじゃなく。 > winsock-ver2になってはじめて0x7fffffffになりました。 なるほど。どうもです。 > サーバ側からの切断を待っている状態ですが、 > どうもこちら側から切らなければいけないようで、 HTTP/1.0 なら常にサーバ側から切ってくれますので、 while (<SOCKET>){ print } でいけるはずです。 マルチスレッドなら select で待って、 $len = read(SOCKET,$buf,8192); if ( ! $buf ){ 切断された } # $len==0 の方が better かな? てな感じでどうでしょうか。 @へにかさん > proxy経由すると、コネクションが張られっぱなしみたいなので、どうも、 > backlogが怪しいわけではない??? となると、proxyが黒ですね。 ですね。本来、proxy がやってきたクライアントをさくさく accept していれば、SOMAXCONN が 1 でも影響は出ないはずですから。 うまくマルチスレッド化できているかどうか調べてみて下さい。 なお、 > Local Address = n:8080 は、 5 というのは accept 済のコネクションと accept 前の OS がキューイング しているコネクション、両方の合計が 5 ということです。なので、 この調べ方はあくまでも目安にしかなりません。念のため。 厳密に調べたければ > あと、お使いの環境での最大接続数を調べるには、1つのポートにがんがん > 接続してみればわかると思います。 をやってみてください。 |
|
@68userさん >HTTP/1.0 なら常にサーバ側から切ってくれますので はい、そのハズなのでそれを待っているのですが、 #ちなみにCでつくっています どうも、なかなか切ってくれないようなのです・・・ ・・・というのが疑問だったのですが、解決しました:) つくった機能のうち、環境変数の追加と削除で、 深い考え無しに、「Connection: Keep-Alive」を追加していました。 さらに追い撃ちで、HTTP/1.0にもかかわらず、 httpdによってはコレを解釈してくれているようで。 基本に戻ってrfc2616ながめてて気が付きました・・・あぁマヌケ。 そこで、この環境変数を「Connection: close」に修正したところ、 期待通り、httpd側からサクサク切ってくれるようになりました。 なにはともあれ、ありがとうございました。 @へにかさん もしかして、へにかさんのおっしゃっておられる、 「プロキシを通すとコネクションが張られっぱなしになる」というのも、 この辺りと関係がないでしょうか? |
|
はじめて書き込みます.UNIX初心者のものです. ソース環境がひとつで2つのアプリを作っているのですが, 毎回できたオブジェクトを手作業で退避・圧縮しています. この作業をmakefileに記述したいのですが,次の記述でよい でしょうか. BAKDIR2 = /tmp/backup2/ test2.o.gz: test2.o cp -p test2.o $(BAKDIR2) gzip $(BAKDIR)/test2.o ご指導よろしくお願いします. |
|
> 深い考え無しに、「Connection: Keep-Alive」を追加していました。 なるほど。HTTP/1.1 まわりではまるのは よくありますよね。 # Host ヘッダを付けず HTTP/1.1 を使ってはまるとか。 > この作業をmakefileに記述したいのですが,次の記述でよいでしょうか. よいように見えますが、そちらではうまく動いていないんですか? |
|
どっかのホームページを読み込んできて タグ以外と、コメントを削除する ということをやりたいんですが、 http://www.din.or.jp/~ohzaki/perl.htm で タグを削除する というのがあったので、これをタグ以外を削除 にしてみたのですが、 コメントタグが消えてくれません、、 <!-- -->で囲まれている中身と、<!--、-->も消えてほしい。。 消したいんですが、どのように改造するといいで しょうか? ---ソース--- $tag_regex_ = q{[^"'>]*(?:"[^"]*"[^"'>]*|'[^']*'[^"'>]*)*}; #'}}}} $comment_tag_regex = '<!(?:--[^-]*(?:(?!--)-[^-]*)*--(?:(?!--)[^>])*)*(?:>|(?!\n)$|--.*$)'; $tag_regex = qq{$comment_tag_regex|<$tag_regex_>}; $text_regex = q{[^<]*}; $result = ''; while ($str =~ /($text_regex)($tag_regex)?/gso) { last if $1 eq '' and $2 eq ''; $result .= $2; } ------ あ、本当はとほほラウンジに書きたかったのですが、 書き込みできなかったので、、 |
|
こちらで質問をさせて頂きたいのですが、unix commandで、OS及びHWが 32bitか64bitと知るにはどの様なコマンドを打てばよろしいのでしょうか? 教えていただきたいと思います。 |
|
> <!-- -->で囲まれている中身と、<!--、-->も消えてほしい まずタグ以外を消して、再度 <!-- --> を消すような正規表現を 使うというのはダメですか。 # ちょっとその正規表現を読む気力がないので…。 > OS及びHWが32bitか64bitと知るにはどの様なコマンドを > 打てばよろしいのでしょうか? 思い付くのは printf("%d\n",sizeof(int)); くらいですかねぇ。 これが「OS及びHW が32bitか64bit」という判断の基準として ふさわしいかどうかはわかりません。 |
|
68userさん、 回答ありがとうございました。 |
|
初めましてです。このサイトはとてもわかりやすく書かれていて嬉しいです。 ところでHTTPクライアントを作りたいのですが、その前にブラウザがどんな環境変数やデータを吐いてるか尻たいです。 tcpdump -i ul0 などとやってみましたが意味不明でしたです。 GET / HTTP/1.0 Referer: http://hoge/hoge っていうようなテキストベースでのデータや相手の送信内容を知るにはどしたらいですか? |
|
http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=658 でいいですか。 あと、tcpdump の吐く hex データから tcp 部分を抽出する スクリプトを作るというのも、TCP と IP の勉強になります。 |
|
質問させて下さい。 こちらのホームページで、アクセス状況をグラフ表示していますが、 これはどうやったら出来るのでしょうか。 DBからデータを取得し、グラフ表示をしたいのですが、具体的な 方法が分かりません。 何か参考に出来るのではと思い、お尋ね致します。 宜しくお願いします。 |
|
1時間に一度 (cron で実行) http://X68000.startshop.co.jp/~68user/cgi-bin/view-script.cgi/countup.hour で http://X68000.startshop.co.jp/~68user/count/total.top にその時点でのカウンタ値を追加し、さらに1時間に一度 http://X68000.startshop.co.jp/~68user/cgi-bin/view-script.cgi/make-count で http://X68000.startshop.co.jp/~68user/count/out/day.top を作成してます。 画像表示用 CGI は http://X68000.startshop.co.jp/~68user/cgi-bin/view-script.cgi/view-count.cgi です。 GIF の生成には fly コマンドを使っていますが、例の GIF 圧縮の 特許の問題で Unisys からクレームが付く可能性があります。png 版に 入れ換えようと思ってはいるのですが、なかなか時間が取れず ほったらかしになってます。 画像データ生成が面倒なら、 http://www2s.biglobe.ne.jp/~cru/library/zddbbs/cgi-bin/wwwboard.cgi の投稿コードの画像のように、xbm (モノクロ) や xpm (カラー) 形式を 使う手もあります。xbm も xpm もただのテキストファイルです。 |
|
68userさん、ご丁寧に回答いただき感謝します。 参考にさせていただきます。 どうもありがとうございました。 |
|
初めて書き込みます。 皆さんにひとつ教えていただきたいことがあります。 実は、ある会社でメールサーバーを作ってるのですが外部からのリレー を許可したいのです。 ところがSPAM対策も大事ということで行き着いた答えは 「POP before SMTP」です。 http://www.venus.dti.ne.jp/~phashim/fmv/POPbeforeSMTP.html を参考にと思ったのですが、私のQpopperは バージョン3.02すでにPOP認証のログを吐き出しています これを利用すると書いてあるのですが どのようにすればいいのでしょうか どなたか、アドバイスお願いします |
|
はじめまして、UNIX始めて2週間くらいたちました。 で、いきなり躓いてしまい先輩方に教えていただきたい事が在ります。 cシェルで、複数件のファイルを一つずつ読みたいのですが、 どうしてもうまく行きません。 とりあえず、リストファイルを作ったまでは良いのですが、 ls -1 > TAR.list awk 'substr($1,8,3)~ /tar/ {print}' TAR.list> TAR.result そのファイルを頭から一件づつ読むやり方がわかりません。 何か良い方法が在ったら教えてください。 |
|
@ookubo さん > バージョン3.02すでにPOP認証のログを吐き出しています という意味がわからないです。3.02 なので修正点が違うから 困っているということですか? 既に認証リストはあるので POP before SMTP 用の無駄なログを吐きたくないということですか? @sawaさん > awk 'substr($1,8,3)~ /tar/ {print}' TAR.list> TAR.result awk なんてすっかり忘れてしまったなぁ。最初見たとき 書き間違いかと思った。 > そのファイルを頭から一件づつ読むやり方がわかりません。 foreach fn (`cat TAR.list`) ls -l $fn end てな感じでいいですか? ファイル名に空白や *、? などを 許すなら、事前に sed あたりで変換しておく必要があります。 # まぁ、csh スクリプトでこだわっても仕方ないですけどね。 |
|
突然ですが質問させてください 初心者なんで的外れかもしれませんが・・・ あるサーバソフトを作成中ですが、そのサーバソフトが起動時に 読込む設定ファイルのパスってどうすればいいんですかねぇ・・・ fopenする時ってフルパス指定するじゃないですか(違います?) でサーバソフトはInetdで起動されるんです。 だから何処で動いているかわかりませんよね どーすればいいのかなぁ・・・ 教えてくださーい inetd.confの起動時オプションですか??? |
|
お聞きしたい事があるのですが、 使っているOSは、FreeBSDで viで作成したファイルをフロッピーディスクに 保存したいのですが、どのようにすればよろしいのですか? あと、その保存したフロッピーをWin98でも見れるように するには? よろしくお願いします。 |
|
> fopenする時ってフルパス指定するじゃないですか(違います?) フルパス指定でもいいし、カレントディレクトリからの 相対パスでもいいです。 > だから何処で動いているかわかりませんよね getcwd(3) でカレントディレクトリを取得して、 どこかに出力させてみればわかるでしょう。 > その保存したフロッピーをWin98でも見れるようにするには? - Windows98 でフォーマットして、mount_msdos して cp して umount - Windows98 でフォーマットして、mcopy file a: どちらでもよいです。 http://www.jp.FreeBSD.ORG/QandA/HTML/640.html FreeBSD で DOS フォーマットしたいなら http://www.jp.FreeBSD.org/QandA/HTML/350.html |
|
こんにちは。初めて書き込みするtakuroという者です。 このbbsでは、ユーザー同士の疑問や知識の交換がされていると知って書き込みしたんですが、ページの趣旨にあっていない質問だったら、無視して下さい。 winzipの事なんですが、解凍する時に、パスワードを入れるように設定して圧縮したんです。そしたら、長い間そのファイルをほうっておいたせいで、パスワードを忘れてしまい、解凍できなくなってしまったんです。 中身は重要な物が入っているんですが、必要なときに取り出せなくなってしまって、大変なんです。どなたか、解決の方法を教えて下さる方、いらっしゃいませんか?メールでも何でもいいので、どうか連絡をよろしくお願いします。 |
|
>takuro PikaZipとか?? http://nagoya.cool.ne.jp/pusa/ パスワードはどのくらいの長さ? ローマ字の小文字なら、、速いかな、、(謎 |
|
航空機事故で検索していたらこの掲示板にたどり着きました。 「日航機墜落事故 東京大阪123便 新聞見出しに見る15年間の記録」 のホームページです。 |
|
ネットワークに関して教えてください。 ホームルータ経由でISDN回線に接続し、モデムとつながれている端末にアクセスすることはできるのですが、モデムでつながれている端末はホームルータないの端末にアクセスすることができません。 ルーティングテーブルの設定が必要なのかと思いますが、どのように設定したらよいかわかりません。 ホームルータのグローバルアドレスとかみることとかできるのでしょうか。 これについて詳しい人がいたら、教えてください。よろしくお願いします。 |
|
つまらない質問でごめんなさい。 perl 5.004_04について教えてください。 スクリプトの最初にifを書くと、その後のスクリプトが どうであろうがCompilation errorになって実行できないのですが、 これはバグなんでしょうか? もしバグだとしたら、広く知られたものなんでしょうか? 以下余分に長いサンプル(split.pl)です。 #!/usr/local/bin/perl if(#$ARGV != 1) { die "Usage: split.pl keyword file\n"; } $keyword = $ARGV[0]; $infile = $ARGV[1]; open(IN, $infile); $prefix = "$infile-split-"; $suffix = "000"; $file = ">$prefix$suffix"; open(OUT, $file); while($line = <IN>) { print OUT $line; if($line =~ /^\s*$keyword\s*$/) { $suffix = sprintf "%03d", $suffix+1; $file = ">$prefix$suffix"; open(OUT, $file); } } |
|
@has > if(#$ARGV != 1) { #$ じゃなくて $# っすね。 > これはバグなんでしょうか? ちなみに (言うまでもないかもしれませんが) ちょっと前までの stable は 5.005_03 です。今の perl5.6 はかなり buggy だとか # と perl の偉い人が fj で言ってた。 あと、7/22 か 8/12 か 8/20 あたりにそちらに寄りますので、 もし居るならよろしく。 @流れ星 > ネットワークに関して教えてください。 NAT もルーティングも、ソフトウェア (FreeBSD) でしか やったことがないので、アドバイスできません。 NAT かましてるかどうか、ルータの型番、モデムの端末が LAN 内にあるのか外にあるのか、などを書いて fj.net.lan など に投稿するといいでしょう。 # でも、最近のってほとんど http://ルータのIPアドレス/ で # 設定できるんでないの? |
|
はじめまして perl(CGI)でAccessLogを取るScriptを 作っています。 HTTP以外の情報って取得できるのですか? 例えば、FTPなどのAccessLogとか... |
|
> 例えば、FTPなどのAccessLogとか... 無理です。FTP と HTTP は別物だから。 |
|
@68user >#$ じゃなくて $# っすね。 ふぇえ、おはずかしい。 真っ先に人のせいにしてしまうなんて…。 >今の perl5.6 はかなり buggy だとか 冷静に人のシステムを批判できる人って やっぱ偉いですよね〜。 |
|
68userさん皆さんはじめまして 早速なんですが、CGIを自分のNTマシンで開発してUNIXの本番環境でTESTしているのですが、 先頭行の#!〜の記述がNTとUNIXで違うので毎回直しているのですが 面倒なのでNT側のアパッチで自己完結型を使わないでCGIを動かしたいのですが なにか方法をご存知無いでしょうか? |
|
> 先頭行の#! Windows 使ってないのでわからないです。 多分 Windows では #!/bin/sh というような書き方ができない、って ことなんだろうと思いますが、もし単にパスが違うだけならやりようは あります。もしそうなら再度質問して下さい。 |
|
> もし単にパスが違うだけならやりようはあります。 > もしそうなら再度質問して下さい。 すみません、おっしゃる通です Windowsが #!C:/Perl/bin/perl で UNIXが #!/usr/local/bin/perl です どうにかなるでしょうか? |
|
よしださん Win機の 1.Apacheをインストールしたのと同じドライブに 2.\usr\local\bin\を掘って 3.Perl一式(Perl.exeとDLL類)を入れれば #!/usr/local/bin/perlで参照できると思います. お試しください. |
|
UNIX,CGI,ネットワークについての事ではないので、この掲示板の趣旨に合わない かも知れませんが、下記の事についてどなたか知っていましたらお教え下さい。 実はMOについてですが、これまで認識していたメディアが急に認識されな くなり、他のメディアで試しても同じ現象が出るようになりました。 クリーニングしても直りません。たまに認識する事もあり、なにがおかしい のか見当もつかず、途方に暮れています。 何か方法があるでしょうか。 |
|
YOSHIさん 次のようなページをご紹介します. MO掲示板: http://www.zob.ne.jp/%7Ekanai/mo/bbs/bbs.pl MOにこだわるページ: http://www.zob.ne.jp/~kanai/mo/ MOS331E 遍歴: http://www1.sphere.ne.jp/squilla/comp/mos331al.html 悪名高いオリンパスドライブの清掃方法です. # 私もジャンクの331(Logitec LMO-230H)を手に入れ, # 清掃して問題なく使っています. 参考まで. |
|
現在、さくらインターネット<http://www.sakura.ad.jp>で専用サーバを借りています。OSはFreeBSD 3.4です。大した知識もないのに大丈夫かな、と思っていたところ、ついに困った事態になりました。 chsh -s でログインシェルを変更したのですが、誤った名前を指定してしまったのです。それからというもの、スーパーユーザになろうとしても su: +++: No such file or directory と出てしまい、rootによる作業が一切できない状況です。 root権限で chsh -s /bin/sh でも実行できれば済むのですが、どうすればいいものやら。セキュリティホールを利用できないか、などと本気で考えましたが、そんな技量もありませんでした。 きちんと業者に頼むべきなのでしょうが、Telnetでできる作業は1万円、Telnetでできない作業は2万円と、勉強料としても学生にはかなり惜しくなる出費なのです。 何かいい方法があるなら教えていただけないでしょうか。 |
|
> su: +++: No such file or directory むぅ…多分無理だと思います。一旦 shutdown して シングルユーザモードで再起動するしかないので 2万円コースだと思います。 あきらめきれなければ、 http://www.energy.ee.ehime-u.ac.jp/~flathill/FreeBSD/chat/chat.html で聞いてみて下さい。そこの方々が無理だと言ったら絶対無理です。 あと、回答してもらっても返答する気がないなら、最初から 書き込まないで下さい>返答する気のない人々 |
|
またまたperlについてお聞きします。 連想配列をうまく使って、キーに対して文字列リストを 保持したいと思うのですが、何かよい方法はありますでしょうか。 現在は、文字列を共通のリスト配列に順に格納して、 キーに対する文字列リストの中の最初の文字列へのインデックスを 連想配列に格納する、という方法をとっています。 うまく伝わらないかもしれませんので、少々サンプルを書きます。 $store = 0; foreach $file (@files) { open(IN, $file); @contents = <IN>; $index{$file} = $store; $numlines{$file} = $#contents + 1; @lines[$store..$store+$#contents] = @contents; $store += $#contents + 1; } |
|
要は、ファイル名と行番号を与えると、その行が得られるデータ 構造は?、ということでいいですか? なら、 while (<IN>){ $data{$file}{$line}=$_; $line++; } とやってもいいし (perl4 的にするなら $data{"$file$line"})、 あるいは @contents=<IN>; $index{$file}=\@contents; と、配列へのリファレンスをハッシュに入れてもいいと思います。 参照するときは $file = 'abc.txt'; $line = 123; print ${$index{$file}}[$line]; とか (abc.txt の 123行目を表示。先頭が0行目)。 |
|
Netboyさんありがとうございました > #!/usr/local/bin/perlで参照できると思います. > お試しください. 試してみたんですが、 #!E:/usr/local/bin/perl だと動くんですが、 #!/usr/local/bin/perl だと駄目なので どうもapachの自己完結型がドライブ名の指定が必要みたいでした、 結果は残念でしたけど、どうもありがとうございました。 >あと、回答してもらっても返答する気がないなら、最初から > 書き込まないで下さい>返答する気のない人々 すみません、原因が解ったら書き込もうと思っていたので 返答が遅くなってしまいました 以後気をつけます。 |
|
よしださん 次のようなショートカットからApacheを実行してみてください. '作業フォルダ'のパスにあるドライブ名が,Perlの参照先ドライブになります. 動作を確認後にオプションを追加して,サービスとして実行させてください. リンク先: e:\usr\local\sbin\apache\Apache.exe -f e:\usr\local\etc\apache\conf\httpd.conf -s 作業フォルダ: e:\usr\local\sbin\apache # 2つとも,Apache.exeがe:\usr\local\sbin\apacheにあるとき - - - - - - - - - - - - - - - 参考になるURLをご紹介します: NTでIISやApacheのPerlの参照の設定: http://www.hi-ho.ne.jp/lina/httpd.html#apache-pl Apacheのレジストリ操作,NTサービスとしての実行など: http://www.apache.org/docs/windows.html |
|
Netboyさん ありがとうございます ApachとPERLのドライブを合わせる必要があったんですね、 おかげさまで思いどおりの動作をしてくれるようになりました 本当に色々とありがとうございました。 |
|
@68user どうもありがとうございました。 リファレンスというのを勉強しときます。 それと、こちらに来られるかもということですが、 予定を確認しておきます。 |
|
@よしださん > すみません、原因が解ったら書き込もうと思っていたので > 返答が遅くなってしまいました 別に1週間くらいはいいと思いますよ。「わかりました。試してみます」 と書くより、試してから結果を書こう、というタイプの人もいるでしょうから。 それ以前の人に向けていったことなので、気になさらないで下さい。 > もし単にパスが違うだけならやりようは > あります。もしそうなら再度質問して下さい。 cygwin 入れて #!/bin/sh で振り分け、とか言わなくてよかった (笑) @has > リファレンスというのを勉強しときます。 赤ラクダ本には載ってません (念のため)。でもって、青ラクダ本の 説明はわかりにくいです。ちなみに $hoge{fuga}{ura} ってのも 実はリファレンスです。 > 予定を確認しておきます。 いや、いつ行くかも未定なので、いつも通りに過ごしてて下さい。 雨降ったら行けないし :-) |
|
>あと、回答してもらっても返答する気がないなら、最初から >書き込まないで下さい>返答する気のない人々 ・・・すみません。 以前、telnetで30個ほど繋げたら、フリーズしてしまったので、 perlで繋げる方法を考えつつ、先に進んでいないのと、まだ、 bugの原因が不明(というか、お手上げに近い)ので、返事できない 状態でした。 返答が遅れてすみません。 |
|
へにかさんに向けて言ったのでもありません :-) |
|
ご無沙汰しております、以前にお世話になったyujiです。(^^) 現在、FreeBSD 2.2.8-RELEASEのカーネルなどをPentium3に最適化させたいと 考えているのですが、この場合、どういった部分を変更すべき なのでしょうか? 自分で調べてみたところ、 http://www.goof.com/pcg/index.html に、Pentium用パッチ(pgcc)があるのですが、 gccが現在2.7.2.1でして。(^^; portsコレクションを探してみたのですが、 pgcc2.95.1のものがあるみたいですが、 プルダウンメニューが3.0以上のみになっています。 PGCCは、EGCSのパッチということで、 2.7.2.1のような古いバージョンには、 使えないのかもしれませんが。(^^; FreeBSD 2.2.8-RELEASEを用いて、 マシンの能力を最大限に引き出す方法はなにかありませんでしょうか? どうぞよろしくお願いします。 |
|
お返事ありがとうございました。 >> su: +++: No such file or directory >むぅ…多分無理だと思います。一旦 shutdown して >シングルユーザモードで再起動するしかないので >2万円コースだと思います。 管理会社に連絡したところ、今回のように原因がはっきりしていて復旧が容易な場合は1万円だそうです。まあ仕方がないと思います。これからはもっと慎重に作業をしなければ……。 |
|
携帯電話に対してこちらの電話番号を表示しないためにはどうすればいいですか? |