1 名前:login:Penguin [2006/04/28(金) 23:52:43 ID:OSZilmdD] 前スレ pc8.2ch.net/test/read.cgi/linux/1100967722/
519 名前:login:Penguin mailto:sage [2007/04/25(水) 17:14:24 ID:LBX5QPyJ] 遅れてきたルーキー
520 名前:login:Penguin mailto:sage [2007/04/25(水) 19:23:31 ID:xemG7cYm] >>519 BOOMERか!
521 名前:login:Penguin mailto:sage [2007/04/25(水) 20:07:04 ID:wUDqYFFy] >>520 ボキャ天ナツカシスw
522 名前:login:Penguin [2007/04/25(水) 22:41:50 ID:NL98Ha60] ハーフライフ一週間のとこに出てたので新しいかと思っていたら 一月の記事でしたOrz
523 名前:login:Penguin mailto:sage [2007/04/26(木) 00:55:12 ID:7guDQNuw] >>522 だから、いつも言ってるだろう! おまえは、頭でっかちすぎる。
524 名前:login:Penguin [2007/04/26(木) 09:52:33 ID:+Has5Xzx] いわれてたっけ●rz
525 名前:login:Penguin mailto:sage [2007/04/26(木) 17:45:24 ID:C7VjAS8c] STR,STD... kdump並のウルトラCが必要なのかな。
526 名前:login:Penguin mailto:sage [2007/04/26(木) 20:55:58 ID:GX2/mssv] どっちかてーとkexecじゃないすかねえ。 APMならBIOSに丸投げできたけど、ACPIはそういうわけにいかんからのう。
527 名前:login:Penguin [2007/04/27(金) 21:53:32 ID:8003YhUG] ちょっと質問なんですがinotifyを利用しようとちょこちょこっとサンプルを書いてみたのですが、 動作仕様がどうにも理解に苦しみます。下のように、ループでreadしてブロッキングすると、最初の一回だけはreadするのですが、2回目以降無反応になってしまいます。 /* size of the event structure, not counting name */ #define EVENT_SIZE (sizeof (struct inotify_event)) /* reasonable guess as to size of 1024 events */ #define BUF_LEN (1024 * (EVENT_SIZE + 16) char buf[BUF_LEN]; int len, i = 0; int fd = inotify_init(); int wd = inotify_add_watch(fd, "/usr/local/hoge", IN_ACCESS | IN_MODIFY); while(1){ len = read (fd, buf, BUF_LEN); }
528 名前:login:Penguin mailto:sage [2007/04/27(金) 23:08:59 ID:EZ45sIxG] >>527 とりあえずすべてのシステムコールで返り値チェックしてerrnoをしらべろ そもそも /usr/local/hoge はファイル?ディレクトリ? /usr/local/hoge にどんなアクセスをした? こういうファイルに こんなアクセスをしたら こうなると思ったけど こんな結果になった くらいの情報は必要
529 名前:login:Penguin mailto:sage [2007/04/29(日) 20:46:36 ID:rZL1ahYI] www.linux.or.jp/JM/html/LDP_man-pages/man2/inotify_add_watch.2.html inotify_add_watch() の呼び出しが成功すると、(略) これ以降に inotify ファイルディスクリプタから read(2) を行うと、 監視対象ディスクリプタが返される。 これらの read() を行うと、ファイルシステムイベントを示す inotify_event 構造体が読み出される。返された監視対象ディスクリプタにより、 どのオブジェクトでそのイベントが発生したかを特定できる。
530 名前:login:Penguin [2007/04/29(日) 21:04:08 ID:pBG0iRqZ] >>529 それは解かるのですが、 while(1){ read(...) } としたときになんらかのアクションがあると上記のコードでは、 1.リードでブロッキング 2.イベントが発生 3.ブロッキングしていたreadからinofify_event構造隊のデータが返されます。 4.読めた情報を適切に処理します。 5.1へ戻る 流れとしては上記のようになると思います。問題となるのは初回の動作とn(n>=2)の時で挙動が違います。 ・初回は、イベントが発生するとそのまま2以降のシーケンスに流れていきます。 ・2回目以降はイベント発生してもずっとブロッキングした状態になります。つまりイベントを関知できていないということです。 それでどうしたらいいもんかなぁと思ってます。
531 名前:login:Penguin mailto:sage [2007/04/29(日) 22:30:19 ID:3LKFnPe9] >>530 >>528 で尋ねられてる情報の半分も出てないんだが?
532 名前:login:Penguin [2007/04/29(日) 22:32:30 ID:pBG0iRqZ] >>531 どんなファイルでもなるからやってみろよボケ さっさとやれ。プログラム書いて動かせよ?しらねーなら すいませんって言えよボケ
533 名前:login:Penguin mailto:sage [2007/04/29(日) 22:46:35 ID:3LKFnPe9] なんかひどい言われようだが… ==== program #include <stdio.h> #include <sys/inotify.h> int main(void) { /* size of the event structure, not counting name */ #define EVENT_SIZE sizeof(struct inotify_event) /* reasonable guess as to size of 1024 events */ #define BUF_LEN (1024 * (EVENT_SIZE + 16)) char buf[BUF_LEN]; int len, i = 0; int fd = inotify_init(); printf("fd=%d.\n", fd);
534 名前:login:Penguin mailto:sage [2007/04/29(日) 22:47:55 ID:3LKFnPe9] int wd = inotify_add_watch(fd, "/tmp/foo", IN_ACCESS | IN_MODIFY); printf("wd=%d.\n", wd); while (1) { struct inotify_event *ev; len = read(fd, buf, BUF_LEN); printf("len=%d.\n", len); ev = (struct inotify_event *) buf; printf("%d, %08x, %08x, %d, %s\n", ev->wd, ev->mask, ev->cookie, ev->len, ev->name); } return 0; }
535 名前:login:Penguin mailto:sage [2007/04/29(日) 22:48:57 ID:3LKFnPe9] ====片方の端末 % cc -o test test.c % ./test fd=3. wd=1. len=16. 1, 00000002, 00000000, 0, len=16. 1, 00000002, 00000000, 0, ====もう片方の端末 % echo > /tmp/foo % echo > /tmp/foo ==== 私のところでは問題ない。 linux kernel 2.6.21.1 glibc 2.5
536 名前:login:Penguin [2007/04/30(月) 00:17:45 ID:XIwj/Z1t] IN_MODIFY入れるとなんか変だな...
537 名前:login:Penguin [2007/04/30(月) 11:46:20 ID:mlJ1TH1o] >>527 =>>530 =>>532 が謝る番では? 使い方間違ってただけなんだろ? しかしマニュアルドキュメントがわかりにくいのは確かだな。
538 名前:login:Penguin mailto:sage [2007/04/30(月) 11:57:39 ID:bBqUiCik] >>537 うぜえ、消えろ
539 名前:login:Penguin mailto:sage [2007/04/30(月) 12:02:19 ID:JxyWDw/R] もしかして>>532 =>>538 なのかwwww
540 名前:login:Penguin mailto:sage [2007/04/30(月) 12:09:16 ID:I1BXKMoI] >>538 プッ
541 名前:login:Penguin [2007/04/30(月) 12:56:29 ID:XIwj/Z1t] ubuntu7.04だとまともに動作しないらしい...
542 名前: ◆Zsh/ladOX. mailto:sage [2007/04/30(月) 18:55:59 ID:qUPaHj6D] FedoraCore2(i386)、FedoraCore5(x86_64)でも動かん。ダメポ
543 名前:login:Penguin mailto:sage [2007/04/30(月) 20:11:56 ID:vBFiYDj4] ARM/Debian Etch (2.6.15.4) MIPS/Debian Etch (2.6.17.13) x86_64/RedHat EL4 (2.6.18) x86/Gentoo (2.6.21) で動作確認してるよ。 カーネルで inotify support の組み込み忘れてない?
544 名前: ◆Zsh/ladOX. mailto:sage [2007/04/30(月) 20:20:16 ID:qUPaHj6D] >>542 のどっちも % grep -i inotify .config CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y (´・ω・`)
545 名前:login:Penguin mailto:sage [2007/04/30(月) 20:22:57 ID:EVyG0KCG] FC5(i686)でも動かない。 CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y になってるけど。
546 名前:login:Penguin mailto:sage [2007/04/30(月) 20:38:12 ID:vBFiYDj4] initNGで使われてるから、ソース参考にしてみては? glibcのヘッダではなく、 ttp://www.kernel.org/pub/linux/kernel/people/rml/inotify/headers/ の定義ではどうよ?
547 名前:login:Penguin mailto:sage [2007/04/30(月) 20:38:43 ID:1B6DUYHo] DynTickは急激に負荷がかかるとだめぽだな。 まるで2.4系に退化したみたいだ。
548 名前:login:Penguin [2007/04/30(月) 21:20:31 ID:XIwj/Z1t] ubuntuが腐っているようですね。どうもお騒がせしました。 一度目はどんなファイル開いてもうまく行くのですが。その後2度目以降は 無反応になってしまうようです。 FedoraとGentooで試したら問題なかったです。どうもすいませんでした。
549 名前:login:Penguin mailto:sage [2007/04/30(月) 22:39:26 ID:QckF6ZL2] すいませんって言 ったな
550 名前:login:Penguin [2007/05/01(火) 04:35:25 ID:g0swsIWn] UbuntuとFCの両方ともだめなのか? もしそうなら何でそうなってるんだろうね?
551 名前:login:Penguin mailto:sage [2007/05/01(火) 19:58:03 ID:AzdFd/9E] Linux: Merging in 2.6.22 kerneltrap.org/node/8122
552 名前:login:Penguin [2007/05/01(火) 23:18:23 ID:mq8aRVBi] ubuntuがダメだFCはうまく行くときもある。よくわからん。 調査中
553 名前:login:Penguin [2007/05/08(火) 10:58:27 ID:XKFA94h5] バニラとmmカーネルの関係ってどんな? mmのが先行してると思っていが いまはバージョン番号が同じでmmはRCになってるので逆転したの?
554 名前:login:Penguin mailto:sage [2007/05/08(火) 11:32:12 ID:LH1r089h] アッシュとナタリアの関係とおなじかんじ
555 名前:login:Penguin [2007/05/08(火) 23:03:30 ID:tKtnVwyW] ねね、ユーザの行動完全に監視できるようなモジュールとかないですかね? しかもrootkit的に隠れて監視しちゃう系のやつないですかね?
556 名前:login:Penguin mailto:sage [2007/05/08(火) 23:05:33 ID:W1PwRzk/] >>555 auditd
557 名前:login:Penguin [2007/05/08(火) 23:38:29 ID:tKtnVwyW] >>556 auditdすげー遅くないですか?1秒間にsyscall 1万回ぐらい出したぐらいで ハングしたかと勘違いする程遅くなります。使いものになりそうもないのですが...
558 名前:login:Penguin mailto:sage [2007/05/09(水) 00:58:36 ID:Y/s6wdPq] >>557 使い方が悪い。
559 名前:login:Penguin [2007/05/09(水) 07:38:44 ID:JBFllK/7] 良い使い方は?
560 名前:login:Penguin mailto:age [2007/05/09(水) 18:44:24 ID:AVxUEFYS] userファイルの中に何もないんですが、 どうすれば見れるようになりますか?
561 名前:login:Penguin mailto:sage [2007/05/09(水) 18:51:04 ID:sZVL/6LE] くだ質へ逝け
562 名前:login:Penguin mailto:sage [2007/05/09(水) 19:14:40 ID:wXCiS1Vp] >>560 $ touch me
563 名前:login:Penguin mailto:sage [2007/05/09(水) 22:25:24 ID:eqA1dMQB] Debianスレで質問をしたのですが、こちらに誘導されてきました。 自分で色々試してみたのですが、どうしても解決できないので、分かる方がいましたらアドバイスお願いします。 Debian etchをインストールしたCore 2 Duo T5500マシーンでacpi-cpufreqとcpufreq-ondemandモジュールをロードして、 cpufreq-setコマンドでそれぞれのコアのgovonerをondemandにすると下記のエラーが頻繁に出るようになります。 kernel: rateup[24408]: segfault at 0000000000000000 rip 0000000000000000 rsp 00007fff36e84320 error 14 あとXも不安定になり、Xが勝手に再起動します。 試してみた事は以下の通りです。 M/B(Asus N4L-VM DH)のBIOSを最新にする。 kernel.orgから2.6.21.1を取ってきてインストール。 ondemandの代わりにpowersaveを使う。
564 名前:login:Penguin [2007/05/10(木) 07:02:47 ID:0+0Fk0Ga] 状況がさっぱりわからないが cpufreqを使うのをやめたら?
565 名前:login:Penguin mailto:sage [2007/05/10(木) 13:43:35 ID:YEr0RFBe] >>564 ありがとうございます。cpufreqを使わなければ何も問題は起きません。 ただPCがアイドル状態の時の消費電力をできるだけ落とすためにCPUの周波数を最低にしたいんです。 cpufreqの他に同じような機能を持つものがあるんでしょうか?
566 名前:login:Penguin [2007/05/10(木) 22:46:42 ID:BLWHqLav] プロセス間で共有メモリ使う時一般的にLinux回りだとPOSIXとSystemVどっちが高速? また、POSIXのMUXTEXとSsystemVのセマフォどっちが高速(Mutexはオプション付けて)
567 名前:login:Penguin [2007/05/11(金) 09:14:27 ID:DFDvgY5e] >>565 以前は問題があったようだけど最近は報告されていないようなので、ほかのモジュールとの相性の問題かも。 今のバージョンのカーネルでは、タイミング制御の仕組みの大幅変更を行なったようなので、不整合を起こしているモジュールがあっても不思議はない。 CPU速度をどうしても落としたいというのなら他の方法はないと思う。 ただ、アイドル時の消費電力は比較的少ないので、ファン回転数や画面のスタンバイだけでもそこそこ効果あるでしょう。
568 名前:login:Penguin mailto:sage [2007/05/11(金) 09:44:05 ID:YfnV2Hgz] >>567 分かりました。ありがとうございます。 experimentalなモジュールを色々使ってるのでしょうがないのかもしれません。