|
>>1590 mak(spriggan > 1ポート1コネクションなら select()の第一引数に取得した > ソケット記述子+1を指定すればよかったんですね。 ん〜、 ret = select( 64, &work_fdset, NULL, NULL, &time_out ); であっても、事前に FD_ZERO(&fdset); FD_SET(m_Sockfd,&fdset); してるんだから、select は m_Sockfd しかチェックしないと 思うんだけどなぁ…。 あと気になるのは、select が 0 を返したとき、FD_ISSET 得られる 値は有効な値なのかかどうか (select が 0 を返したときは FD_ISSET してはいけないのではないか)、ってところですけど、どうなんでしょう。 >>1586 YAGI > 現在サーバ間(UNIX/AIX)でNISの設定をしようとしています。 僕は NIS の設定をしたことがないので、ちょっとわかりません。 >>1582 たろ > マルチパートかシングルパートか、でした。失礼しました。 なるほど。で、 >>700 68user はどうでしたか。僕は multipart をばらすところまでしか やってませんので、(必要かどうかわかりませんが) 編集後に 再構成できるのかはわかりません。 # まぁ、できなくはないと思いますけれど。 >>1584 arche > 自分はPerl屋なのですが、ここほど為になるサイトは今まで > 見たことがありません。 どもです。ですが、http://www.din.or.jp/~ohzaki/perl.htm くらい 役立つレベルになりたいものです。 |
|
変な名前ですいません。 SystemVと呼ばれるOSがあるそうなのですが、 'システムブイ'か、'システムファイブ' どちらが正しい言い方なんでしょう? |
|
>>1592 バス酔いで思わずコアダンプ SystemIII の後継なので、システムファイブです。個人的には 話すときはシスブイと呼びますし、一応まわりには通じているようですが、 世間一般の人にシスブイと言ってわかってもらえるかは謎です。 # 検索すると http://www.system-v.org/ ってのが引っかかった。 |
|
>>1591 68user >はどうでしたか。僕は multipart をばらすところまでしか > やってませんので、(必要かどうかわかりませんが) 編集後に > 再構成できるのかはわかりません。 どうもです。 MIME-TOOLSのexampleを見て、今手探り中です。 一度、multipart をばらして、対象のテキストパートから数えた行数を 取得後、multipartをばらしていない本文より行数を取ろうと思います。 ばらしたものよりの再構成は、(むずかしそうなので)とりあえず避けます。 |
|
今課題で、UNIXにApacheを入れ、フリーの掲示板をダウンロードして とりつける課題をしています。 しかし、ウィンドウズで作られたperlのプログラムなので改行コード の違いからか、エラーが出てInternal Server Error が出ます。 ダウンロードしたプログラムをperlで動かしてみても Illegal character \015 (carriage return) at aska.cgi line 2. (Maybe you didn't strip carriage returns after a network transfer?) といった、エラーが出ます。どうしたらよいでしょう。 |
|
cronを実行していたのですが、 マシンの時間を修正した後、cronが実行されなくなりました。 何が原因か、どうすれば実行するようになるのか、 どうか教えていただきたいです。 |
|
cronを実行していたのですが、 マシンの時間を変更した後、 実行されなくなってしまいました。 どうしたらよいのでしょうか? |
|
>>1595 じゅじゅ > 今課題で、UNIXにApacheを入れ、フリーの掲示板を > ダウンロードしてとりつける課題をしています。 最近どうして こんな変なのばっかりわいてくるんだろう。 マルチポストする人はさようなら。 >>1596 クーロン > cronを実行していたのですが、 理由はわかりませんが、cron daemon を再起動するのがお手軽で しょう。特にサーバマシンに言えますが、なるべく時刻は date や ntpdate を使わず、xntpd などで設定しましょう。 |
|
はじめまして。 UNIXのことあんまり知らない初心者のものです。 先日TELNETが使えるレンタルサーバを借りたはいいけど、なんとその2週間後! TELMETが禁止に、、、ってことで、ついでにCORNTABも禁止に。。。 こんな悲しいことってアリッ!!?TELNETが使えるから借りたのに!!!ガビーーン! ・・・ぐちっぽくなってゴメンなさい。 そんなこんなで、質問をさせてください。 TELNETが禁止のサーバで、CRONTABみたいに定期的にパールスクリプト実行できるテクニックってありますか? よい方法を知っている方がいたら、なにとぞ教えてくださいませ☆ |
|
ごめんなさい、マルチポストの意味がよく わかりません。とりあえず、ご迷惑をおかけしたようなので 他のところへ聞いてみたいと思います。 もう来ませんので許してください。 悪気は一つもなかったんですから。 |
|
>>1577 rererenore >さようなら、断りなしにマルチポストする無礼なひと。 >>1595 じゅじゅ >> 今課題で、UNIXにApacheを入れ、フリーの掲示板を >> ダウンロードしてとりつける課題をしています。 >最近どうして こんな変なのばっかりわいてくるんだろう。 >マルチポストする人はさようなら。 本当に困っているから複数のサイトで質問しているだけで何が無礼なのか分かりませんが。 全てのレスに対してお礼を書けば問題ないと思いますが? 何に対してむかつかれているのか全然分かりません。 嫌なら掲示板のどこかに書いておけばいいと思いますが「使い方」の方にすら書かれてもいないようですし。 あなたの方がよほど無礼だと思いますが。 |
|
>>1586 YAGI氏 最近、AIXもNISもごぶさたしていますが。 AIXのコツは、「なんでもsmit」、なので、 > 私的にはNISの解除の方法がおかしいのかなと思っています。 > (1./etc/passwdを戻す、2.smitでNISを解除する) は、O.K.だと思います。 ただ、「/etc/passwdを戻す」はちょっと意味が取れません。 この「NISの解除」と言っているのは、「NISサーバをアップデートする前に、NISサーバを停止すること」の意味ですよね? だとしたら、その間、/etc/passwdをいじる必要はありません。 NISサーバ側の作業は、 1. smitでNISサーバを停止 2. smitでNISサーバのアップデート 3. smitでNISサーバの起動 NISは(確か)statelessなので、クライアント側は何もせずにサーバに繋げると思います(ぼくなら、ypcat passwdで確認します)。 しかし、まあ、AIXは色々あるので、ダメならクライアント側(ypbind)もsmitで再起動するしかないでしょう。 # 余談ながら、通(つう)はsmitではなく、tty版のsmittyを使います。 # 走る男が見たいから、という理由でsmit(X版)を使い続ける人もいますが。 # 分からない人向けへの補足。 # smitは、AIXのGUI設定ツールなのですが、Windowsで砂時計がでるような状況で、 # 走る男のアニメーションがあります。 # しかも、設定が失敗すると、男がこけます。 # AIXがSolarisより優れているのは、これだけ。 |
|
>>1600 じゅじゅ >>1601 rererenore あなたがたに欠けているのは情報を共有しようという精神です。 あなたがたは自分一人情報を得て満足かもしれませんが、 少なくとも僕は、あなたがたを助けるため *だけ* に わざわざ 時間を割いて、検索したりソース見たりして回答しているわけでは ありません。みんなで知恵を出しあって情報を共有するのが 掲示板を開設している第一の目的です。 たとえば僕は >>1595 じゅじゅ を読んで「それは ftp で ascii モードで転送してないからでしょう」と (実際はもっと長文) 投稿しようとしましたが、その前に http://www.parkcity.ne.jp/~chaichan/qanda/qa539.htm?01-01-17-09-06 を見たところ、同じ質問が書いてあり、 じゅじゅ [WriteDate : Thu Jan 18 16:56:31 2001] まで書きこんでありました。 すでに解決していたことを、僕はいちいち細かく解説しようとして いたわけで、全くの無駄な行為です。あなたがたは、他の掲示板の 全ての閲覧者に対して、よーいドンで競わせて、だれが早く回答 するか待っているようなものです。無礼な行為だとは思いませんか? 他の掲示板に書き込んで既に情報を得ているのに、親切な誰かが >>1577 rererenore を見て、いちから説明しようとするかもしれない。おかしいとは おもいませんか? 本当に緊急のトラブルで困っているなら、「申し訳ありませんが、 緊急の事態なので、こことこことここに書き込みました」と 一言添えて、最後には全ての掲示板で得られた情報をまとめて、 こういう結果になりました、とサマリを書き込むべきでしょう。 > 全てのレスに対してお礼を書けば問題ないと思いますが? ダメです。情報の共有化がされていない。情報が集まるのは あなたのところだけ。 > 嫌なら掲示板のどこかに書いておけばいいと思いますが「使い方」の > 方にすら書かれてもいないようですし。 こんなことは、ちょっと答える側の立場に立ってみればわかると 思いますが、いちいち書かないと理解できませんか。それとも 僕の主張自体が理解できませんか。 http://www.parkcity.ne.jp/~chaichan/qanda/qa579.htm?01-01-18-16-56 http://script.lovely.to/bbs/infolng.cgi?print+200101/01010026.txt http://script.lovely.to/bbs/infolng.cgi?print+200101/01010016.txt |
|
おっとリンクミス。 >>1603 68user (実際はもっと長文) 投稿しようとしましたが、その前に http://www.parkcity.ne.jp/~chaichan/qanda/qa579.htm?01-01-18-16-56 を見たところ、同じ質問が書いてあり、 でした。 |
|
>No. 1603 68user 2001/01/18 (木) 22:15:59 おっしゃる事は理解できますし、言われてみればもっともな考えだとは思います。 しかし、それはあなたがたのこういった世界に付いて詳しい方々の考え方であってわれわれの様な素人や、始めたばかりの人には情報の共有と言った概念は言われなければ無いと思います。 一言書かれていればこういう事態も避けられると思います。 今後は私も気を付けます。 |
|
>>1605 rererenore そうですか。では、使い方のところに その旨書いて おくことにします。 |
|
はじめて発言します。 実はUNIXはまだ初心者ですが・・ 下記のようなツール(C言語用ライブラリでも可)を探しています。 ・コマンド型ツールでメール層送受信が可能なもの かつ、添付ファイルが遅れるもの かつ、Solarisで動作するもの ・・って、ありますか? どなたか知っている方いましたら教えてください! (できれば、メールアドレスに送付してくれれば、なお可) |
|
先ほどの発言にて誤字・脱字が多いので再送します。 下記のようなツール(C言語用ライブラリでも可)を探しています。 ・コマンド型ツールでメール送受信が可能なもの かつ、添付ファイルが送れるもの かつ、Solarisで動作するもの ・・って、ありますか? どなたか知っている方いましたら教えてください! (できれば、メールアドレスに送付してくれれば、なお可) |
|
この掲示板を利用しているみなさん、ほんとうに私事で ご迷惑をおかけしました。実際私が投稿したことは 自分本位であり、みなさんの迷惑にしかならず 間違っていたことと理解しています。 しかし課題の締め切りが迫ってしまい、日々の勉強している ことの範囲外の課題であったために、調べる時間も少なく このような事態を引き起こしてしまいました。 本当にご迷惑をおかけしました。 しかし、管理者さんのこの掲示板の意図を知ることが できたので自分ではとても勉強になりました。 知識不足、常識不足ですいませんでした。 結局掲示板の設置の方は、その改行コードの変更の仕方が よくわからなかったので、あらかじめ改行コードが UNIXで設定されているものをダウンロードし、 confファイルを手直しして、設置することができました。 ありがとうございました。 |
|
あえて、クロスポストに答える形で書き込みます。 ちょっと面白いこと(だから内容はマニア向け)があり、 それを書いてみたいので...。 >>1609 じゅじゅ > 結局掲示板の設置の方は、その改行コードの変更の仕方が > よくわからなかったので、 ftp での転送が悪かったからだろうという回答は出ているので、 直接改行コードの変更の話にしましょう。 改行コードを変えるのには、例えば、perl などで % perl -pni.bak -e 's/^M$//' hoge.cgi 等とすれば良いのです。上で、^M は表現上 2 文字になっていますが、 この部分はコントロールキーを押しながら M を入力します。 ところが、困ったことにもろに打ち込むとリターンを打ったのと同じで、 これを打ち込めません。これは初心者の FAQ で、通常コントロール V を打ってからコントロール M を打ちます。(以下、CTRL-M 等と書きます。) すると文字通り ^M が打てるんですが、カスタマイズされている場合もあります。 あるいは、カスタマイズしたい場合もあるでしょう。 そう言った場合には stty(1) を使うんですが、 % stty -a speed 9600 baud; 25 rows; 80 columns; (中略) cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^H; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W; となったときの lnext に「次の一文字を文字通り引用」(literal char???) する キーが割り当ててあります。上の場合には、だから ^V です。このコマンドは ^H に 「前の文字の削除」を割り当てたい場合にも使います。通常 ~/.login に stty erase ^H とか stty erase ^? (^? は DEL キー) をいれておけば、それぞれ、CTRL-H や DEL に前の文字の削除を割り当てられます。 これも初心者の FAQ で DEL キーで前の文字を消すにはどうしたら良いのか? なんて嫌なるくらいに聞かれます。答えは、上のようにすれば良いんですが、 問題はどうやって ^H だとか ^? をいれるかです。この答えも、ここまで 読んだ人なら明らかで、lchar キーを使えば言い訳ですね。上の場合すなわち ^V です。 ちなみに、上の perl のコマンド実行をする場合には tcsh だと ^M が ^J に 変わるので、ash なんかを起動してやった方が良いです。また、^V はコマンドラインや ed あるいは vi なら有効ですが、emacsen の場合 CTRL-Q が lchar もどきの動作を します(デフォルトなら)。 ここから本題にはいりますが、上の stty -a の出力は FreeBSD 4-stable のものです。 実は、5-current だと speed 9600 baud; 25 rows; 80 columns; (中略) cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^H; erase2 = ^H; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W; となります。良く見ると、erase2 というのがありますが、これは BS と DEL 両方に前の一文字削除を割り当てられるようにするためです。一般に、 % stty erase ^H ^? なんてできませんから。こういった需要は多いはずなのに今までサポートされて なかったんでしょうね。ちなみに、この erase2 については man stty しても 説明がみあたらず、-current の RELNOTES.TXT に書いてあります。 というわけで、FreeBSD には release ごとに結構な相違があります。 # これは昨日見つけて、どこかにこの発見(?)を書きたかった(笑)。 # ところで 3.x-RELEASE にはないが、4.x-RELEASE にはある # du や df コマンドの -h (human friedly) オプションというのはご存知でしょうか? # まあ、皆さん知っているでしょうね。この程度なら。 # 長くなりすみません。 |
|
>>rosegardenさん 教えてくださってありがとうございます。 残念ながら今すぐ自分ではまだ理解はできていませんが いまから勉強して覚えたいとおもいます。 ありがとうございました。 |
|
>gixs様 レスありがとうございます。 当人まだ、知識が乏しく本にsmitとsmittyが書いてあったりもするのですが 区別が分からずsmitでやってました^^; 「NISの解除」はその通りです。 私も、その手順で実際に行なってバージョンアップしたClientをもう一度 NISの再設定を行ってServerのマップをmakeし直すと 接続できなくなってしまうのです。 なお、smitのコマンド類はWinNTのTera Termより発行しています。 (接続できなくなってしまう→Tera TermでClientのサーバに接続できない) 以前にNISの設定を行なった作業がありまして、その時に障害を起こしてしまい(私はその時は作業はしていませんが^^;)、今回はそれをさけたいので色々と方法を模索しているところです。 一度、/etc/netsvc.confを作り hosts=local,nisを作成してやって見たのですが 今回同様の現象となってしまいました。 また復旧は stopsrc -s ypbind startsrc -s ypbind -a "-ypsetme" ypset (ServerのIP)を打ちました。 もし、これに関しても何か思い当たる点があれば、教えていただけたらうれしいです。 よろしくお願い致します |
|
こんにちは。 こんなことをお聞きするのは失礼かもしれませんが、 他になかったので失礼します。 よく企業のホームページなどで入力した数字をもとにシミュレーションをし、 計算結果を出力するようなページって多く有りますよね。 私もそのようなページをCGIで作製したいと思いいろいろな参考ページを見ましたが、 思うように解説ページが見つかりませんでした。 もし、入力した数値を計算し、結果を出力するようなサンプルを置いてあるページについて 何か思い当たる点があれば教えていただけないでしょうか。 本当にこんなしょうもない質問ですみません。 よろしくお願いします。 |
|
>>1610 rosegarden まず訂正です。 > となったときの lnext に「次の一文字を文字通り引用」(literal char???) する うえのは literal next と書こうとしたのでした。 > 読んだ人なら明らかで、lchar キーを使えば言い訳ですね。上の場合すなわち ^V です。 あと上のような、lchar というのはぜんぶ lnext に読み変えてください。 それから、 > ちなみに、この erase2 については man stty しても > 説明がみあたらず、-current の RELNOTES.TXT に書いてあります。 このくだりを書いた時に見たのは 4-stable box の man stty でした。 5-current box だと説明はないことはないんですが、 > erase VERASE ERASE character > erase2 VERASE2 ERASE2 character > werase VWERASE WERASE character 等と言った感じで、表があるだけで、ちょっと不親切ですね。 この部分はあまり変化が無いですね。 http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/bin/stty/cchar.c ここには説明がありますね。 > 1.10 Tue Nov 28 19:48:06 2000 UTC by jkh と書いてあるので、つい最近ですね。 http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/release/texts/i386/RELNOTES.TXT?rev=1.190 こちらは RELNOTES.TXT です。 ところで、 http://www.FreeBSD.org/cgi/man.cgi?query=stty&apropos=0&sektion=1&manpath=FreeBSD+5.0-current&format=html ここで見ることができますね。 http://www.FreeBSD.org/cgi/man.cgi Plan9 とか Sun OS なんかのマニュアルもここから見ることができるんですね。 今まで、知らなかった。ライセンスはどうやってクリアしたんだろう? FreeBSD 1.0-RELEASE とか 386BSD とかのマニュアルもありますね。 すごいですね。 |
|
>>1591 68user レスどもです。 ret = select( 64, &work_fdset, NULL, NULL, &time_out ); と指定していたので、ファイルディスクリプタ 0〜64までをチェックしかselectはチェックしていなかったので selectはタイムアウトを返し、実際取得したファイルディスクリプタは 64を超えた数になっていたのでFD_ISSETは反応を返した。 というふうになっていた模様です。 ちなみに、ファイルディスクリプタの番号を ここからここまでの番号しか取得しない。とか制限かける方法とか ないのでしょうか? |
|
レス遅くなってごめんなさい。 >>1525 68user >2. 相手側がコネクションを切断したときも select は 1 を返します。 > その際、recv すると1バイトも読めず、0を返しているはずなのに コネクションが切断したときのselectの返り値、recvの返り値については このレスを見て初めて知りました。ありがとうございます。 >>1526 68user >ついでに言っておくと、状況にもよりますが、select に ><> や read を使うのは不適切です。select で読み込み このサイトで紹介されているECHOサーバのように、「クライアントやサーバーとうま く接続できたかどうかを確認する」、というような形が正しいselectの使われ方だと 考えてもいいですか? alarmを使う事でブロッキングを強引に回避するという方法がありますが、他に 比較的OSに依存しない形でブロックを避ける手段はないでしょうか? |
|
>>1615 mak(spriggan)氏 > 0〜64までをチェックしかselectはチェックしていなかったので > selectはタイムアウトを返し、実際取得したファイルディスクリプタは > 64を超えた数になっていたのでFD_ISSETは反応を返した。 > というふうになっていた模様です。 確かになりますね。 知りませんでした。 しかし、fd_setの戻り値をチェックするのは、select(2)が正数を返した時のみにしておいた方が安全でしょう(select(2)に正しい第1引数を渡したとしても、タイムアウト時にfd_setがゼロクリアされるかは分かりません。規格としてゼロクリアが決まっているならO.K.でしょうが、そこまでしてselect(2)の戻り値のチェックを省く理由も見付かりません)。 # 今回はselect(2)の戻り値チェックを省いたおかげで、第1引数のバグに気づいたわけですが。 > ちなみに、ファイルディスクリプタの番号を > ここからここまでの番号しか取得しない。とか制限かける方法とか > ないのでしょうか? select(2)を呼ぶ時に、チェックすべきファイルディスクリプタの部分だけ、fd_setにマスクをかけますが(第1引数は効率の為)。 それとも、効率を気にしていますか? 確かに、非常に大きな番号のファイルディスクリプタ1つだけをチェックするとなると、無駄がありそうなことは否定しません。 それが気になるなら、poll(2)でしょうか。 |
|
>>1612 YAGI氏 # その場に行けば解決できるかもしれませんが、このやりとりでは、助けられる自信はありません。申し訳ないです。 > 当人まだ、知識が乏しく本にsmitとsmittyが書いてあったりもするのですが > 区別が分からずsmitでやってました^^; X以外でsmitを起動すると、tty版のsmittyと同じ動きなので、 > なお、smitのコマンド類はWinNTのTera Termより発行しています。 smitでもsmittyでも変わりありません。 # という事は、走る男を見ていないんですねえ。 # もしかして一度も見たことが無い、とかだったら不幸です。 > 私も、その手順で実際に行なってバージョンアップしたClientをもう一度 > NISの再設定を行ってServerのマップをmakeし直すと > 接続できなくなってしまうのです。 うーむ、あまり他人の文章のケチをつけるのもなんですが、何をどういう順序でやったのか、いまいち不明です。 (改行の位置に読点があると考えてよいのでしょうか。 この手の説明は、時系列に並べた箇条書の方が分かりやすいと思います。) |
|
>>1607 H.Motoki > コマンド型ツールでメール層送受信が可能なもの > かつ、添付ファイルが遅れるもの > かつ、Solarisで動作するもの 僕は知りませんが、 http://www.freebsd.org/cgi/ports.cgi?query=mime&stype=all&release=4.1-STABLE%2Fi386 の中を見ると、お望みのものっぽいのがありますので、 Solaris でコンパイルしてみてはどうでしょう。 >>1615 mak(spriggan) > selectはタイムアウトを返し、実際取得したファイルディスクリプタは > 64を超えた数になっていたのでFD_ISSETは反応を返した。 なるほど納得です。 > ちなみに、ファイルディスクリプタの番号を > ここからここまでの番号しか取得しない。 ここから、は指定できません。ここまで、ってのは select の 第一引数ですね。多くの UNIX の実装では select が扱えるのは 1024 までのディスクリプタのようですから、この程度なら 僕はあまり気にしません。あと、FreeBSD 4.2-RELEAE の select(2) には For historical reasons, select() will always examine the first 256 descriptors. とありますので、あまり神経質になるほどのことでもないかも しれません (し、そうでないかもしれません)。 |