05/06/06 11:19:09 uXQqRJXF
Linux のプログラミングに関する話題です
2:login:Penguin
05/06/06 12:21:43 NKTmDljP
2get!!!
3:login:Penguin
05/06/06 19:56:41 mvKKcD2C
誘導
スレリンク(tech板)
4:login:Penguin
05/06/07 08:48:19 f398JVV/
Linux固有のプログラミングに関する話題です
5:login:Penguin
05/06/07 09:19:02 VuICZeLP
たとえば?
デバイスドライバの書き方とか使い方とか?
6:login:Penguin
05/06/07 09:30:46 M5U+LdKE
=================================== 終 了 ===================================
7:login:Penguin
05/06/07 09:38:37 6uaL4exB
デバイスドライバの書き方については何でも聞いてください。
答えますよ。
8:login:Penguin
05/06/07 09:44:40 fMg6lYHe
以後はこちらへ。
ディバイスドライバをハックしよう!
スレリンク(linux板)
9:login:Penguin
05/06/07 09:52:21 VuICZeLP
Linux特有のならいいんじゃね?
SIGCHLDを無効にして子供を自立させるのとかは
BSDでは推奨されてないとか、どういうことじゃね?
10:login:Penguin
05/06/08 03:27:42 efnI26oW
面白い話題なのでage
これでLinuxにバリバリ依存したプログラミングの話が出来る
11:login:Penguin
05/06/08 07:03:28 Ur9S3tqL
立て逃げか( ゚д゚)、ペッ
12:login:Penguin
05/06/08 08:37:32 CK8/wpZS
このスレッドを見てGCCを入れました!
大変参考になりました
1さんありがとうございました
13:login:Penguin
05/06/08 09:06:33 0ismwF6c
>>1が立て逃げしたため
=================================== 終 了 ===================================
14:login:Penguin
05/06/08 20:28:33 tz0qcZo4
cとかc++やればいいのでしょか>?
15:login:Penguin
05/06/09 11:02:31 fhCNZsTJ
じゃ、ポータブルでないLinux特有の拡張があったらあげてみろや。
16:login:Penguin
05/06/13 02:37:33 88uqHA46
>>9とか
17:login:Penguin
05/06/13 23:13:42 2SiW65Xk
Qt絡みの話は駄目?
18:login:Penguin
05/06/16 11:59:14 jlxEkJcI
QtはLinuxだけじゃないから、それだけじゃダメだけど
QtでのLinux特有のトラブルの話ならOKじゃね?
19:login:Penguin
05/06/16 13:36:13 tbzXPG2W
redhat v4 のサポート内容があまりにもへぼい件について
20:login:Penguin
05/06/16 19:49:00 fK4dnybR
プログラミングの学習環境をLinuxで整えるにはどのようなソフトをインストールするべきでしょうか?
そしてどのように学習していけばよいでしょうか?
URLリンク(www.alpha.co.jp)
KNOPPIX Eduを使用したほうが早いでしょうか?
>>19さんはお金を払って買っているんですか?リッチマンですね。
21:login:Penguin
05/06/16 22:31:40 W6FD7eJl
>>20
> どのようなソフトをインストールするべきでしょうか?
用途によるが C/C++ とかなら
Eclipse with CDT(Javaなので遅いが比較的マシ)
後は emacs かそのへんのテキストエディタ
>> プログラミングの学習環境をLinuxで整えるには
>>そしてどのように学習していけばよいでしょうか?
ところで何のプログラムをしたいのか?
22:login:Penguin
05/06/16 23:31:10 NC8ArA+p
>>21
vimじゃダメ?
23:login:Penguin
05/06/16 23:38:02 0PTeLZap
>>22
どうぞお好みで。
24:login:Penguin
05/06/17 09:46:40 UHDWQlXq
・MSの評判を長年擁護してきた「マンチキン」
URLリンク(web.archive.org)
・MSのマーケティング戦略 「FUD」
URLリンク(www.yamdas.org)
・MSが“組織票”で投票操作
URLリンク(web.archive.org)
・MS「Halo伝道師」を勧誘
URLリンク(cocoa.2ch.net)
・MS「マックからの乗り換え体験談」は社員でした
URLリンク(hotwired.goo.ne.jp)
・MS、ブラジル政府高官のFUD批判に名誉毀損の訴え
URLリンク(www.itmedia.co.jp)
・世界最大の某ソフト会社がお得意とするマーケティング手法。
URLリンク(www.geocities.co.jp)
25:login:Penguin
05/06/17 11:49:29 r2abT8Mn
>>20
初心者ならemacsだろう。
開発用エディタとしては最高。
あらゆる言語のソースモードをもっている。
ソースの先頭に//-*- C++ -*-などと書いてくれたまえ。
それでそのソースを開くときにその言語のモードになる。
次に、ディレクトリ構成とMakefileについて深く学んでくれ。
共有ライブラリ、スタティックライブラリ、
ダイナミックリンク、ダイナミックローディング
についても学んでくれ。
その間にゴミのような小さいプログラムを沢山書いてください。
26:20
05/06/17 20:32:36 u6tR/1dR
>>21 >>25 レスありがとうございました。
インスコしたてでLinux素人ですが、少しずつ勉強して行きます。
いまはperlを勉強していますが、いずれは他のプログラム言語を学習したいと思っています。
27:login:Penguin
05/06/25 21:47:43 7teW5l8w
Rubyってどうよ。
28:login:Penguin
05/06/29 02:04:11 rSbPN/4/
デバイスドライバを作るときのテストに便利なアレ
29:login:Penguin
05/07/01 09:29:19 xK97s0Sp
valgrindでメモリリークをチェックできるけど、
CGIプログラムでPATH_INFOとかPOSTを使うプログラムはどうチェックしたら良いの?
他のプログラム同様にやるだけで良いんだろうか。
30:login:Penguin
05/07/03 02:34:03 387/J7NO
CGIなら多少漏れたところで、プロセスが直ぐ死ぬから問題ないと思うがどうか。
31:login:Penguin
05/07/03 03:00:50 vXmg8Wmb
_ ∩
( ゚∀゚)彡 ioperm ! ioperm !
( ⊂彡
| |
し ⌒J
32:login:Penguin
05/07/03 22:51:27 W/EOLQ8V
LSBの話でもするか?
33:login:Penguin
05/07/05 21:34:46 eL9Y9U6k
valgrindでのメモリリークチェックについてなんだけど、
valgrind --leak-check=yes ./indexer
でやると1blocks 8bytesのstill reachableとか出てたので
valgrind --leak-check=yes --show-reachable=yes -v ./indexer
として実行したところ、メッセージが大量に出てきたんだけど、とりあえず
No malloc'd blocks -- no leaks are possible.
という行があったら問題無しと見てよい?
34:login:Penguin
05/07/06 23:53:51 h/w15dTK
ところでみんな何作ってるんだ?
35:login:Penguin
05/07/15 10:43:45 r+pZSuw6
kmallocって非プリエンプティブなの?
36:login:Penguin
05/07/15 19:48:06 I6G9y00D
モードによって変わったような気がするが。
いつもGFP_ATOMICしか使わんので忘れた。
37:login:Penguin
05/07/16 16:07:15 YgyQE1T3
>>36
アトミックとカーネルってなにがどう違うんだっけ?
38:38
05/07/16 23:47:35 iwY4tsZJ
プログラミングをしていて、分からない点があるんですけど、
どなたか分かる人はいますか~~??☆ お願いします(><)
39:login:Penguin
05/07/16 23:49:36 DO52ZlNO
>>38
エスパー募集か?
40:40
05/07/16 23:58:35 iwY4tsZJ
どうしてもわからないプログラムがあって><
41:login:Penguin
05/07/17 01:47:35 kE3RiDzU
>>40
私も同様の状態で悩んでいます。
もし解決されましたら、解決方法等書き込んでいただけると助かります。
42:login:Penguin
05/07/17 16:39:06 q+4CFsL5
nasmの良い参考書ないでしょうか?
43:login:Penguin
05/07/17 17:09:00 D1ufqS5v
Linuxでnasmを使う、なんて特殊状況のための良い参考書なんて
なさそうに思いますが、ためしに
URLリンク(www.data-house.co.jp)
これでも買ってみたらどうでしょう?
44:_
05/07/18 23:50:12 5+oTT0Qf
書籍では「Linuxプログラミング」 SOFTBANKがお薦めです。一通り学べます。
45:_
05/07/18 23:50:54 5+oTT0Qf
あ、nasmの書籍ではないです。流れ見てなかった..orz
46:login:Penguin
05/07/23 13:47:30 /ZYw3AUV
LinuxでCプログラミングの情報は、書籍やネットにもたくさんあるが、
LinuxとC++だと初心者用の情報がすくない。ヘルプ。
47:login:Penguin
05/07/23 21:15:58 qedpaVuk
>>46
「Linux で C プログラミングの情報」 + 「C++言語の情報」
ではダメなのかしら?
48:login:Penguin
05/07/28 03:00:09 6pUiA/iF
nasmといえばZSNESだろ、これのためにあるアセンブラじゃないの?
LinuxでならGAS使えば?
49:login:Penguin
05/07/31 00:04:18 0Amwd3lA
UNIXドメインソケットを使ったサンプルプログラムある?
50:login:Penguin
05/07/31 00:15:31 3VxENWOd
ちょっと借りますね
ーーーーーーーーーーーー
ねこのえさ
サランラップ
麦茶
51:login:Penguin
05/07/31 00:46:47 0Amwd3lA
socket関数でAF_UNIXを指定すればUNIXドメインソケットが出来ますが
bind方法がわかりません
52:login:Penguin
05/07/31 00:50:39 0Amwd3lA
URLリンク(www.linux.or.jp)
を読んでbind方法がわかりました
ありがとうございました
53:login:Penguin
05/07/31 04:54:18 uaSMumyk
お礼を言われる筋子は素敵な筋子だ
54:login:Penguin
05/08/05 00:10:27 6XxyXksp
今のユーザで、selectで待てるソケット数の上限を
調べる方法を教えてください
55:login:Penguin
05/08/05 19:37:37 0CoAsVSB
FD_SETSIZEとか、RLIMIT_NOFILEとか?
56:login:Penguin
05/08/05 19:57:55 6XxyXksp
>>55
FD_SETSIZEで判明しました。
デフォルトは1024なんすね。
でもなんでtime.hで定義してるんだろ・・・不思議
57:login:Penguin
05/08/06 14:29:00 zxTk5X4j
Visual Basic for Linuxありませんか?
58:login:Penguin
05/08/06 16:56:51 EsGlAU9q
現在進行形の開発者たちはどうやってGUI作ってるの?
ボタンの位置とかをピクセル単位で座標をソースに書いてるの?
59:login:Penguin
05/08/06 19:40:34 QVH3pN5M
>58
GladeとかQT Designerとか。
60:login:Penguin
05/08/07 01:56:10 3ozY2FRR
gtkならvboxとかのコンテナを使えば座標指定は特に必要ないよ
61:login:Penguin
05/10/06 18:12:55 ZATs0tPd
まぁ、聞いてくれよ。
daemon プログラムの作成手法を調べようと思いググっていたら、とある海外のサイトに
掲示板形式の 「 教えてくれ 」-「 教えてやる 」 ページが見つかった。
( 以下、和訳 )
質問者:どなたか、デーモンのプログラミング方法を教えてください。
回答者:daemon() を呼べ。
俺はもー大爆笑でさ。 いやぁ、どこの国にも、ねらーみたいな人種はいるんだな、と。
このシュールな回答者を、俺は心のなかで絶賛したんだヨ。
ところが、だ。 それに引き続くレスを読み進めると ・・・
質問者:daemon() は、プラットホーム依存だと理解している。
プラットホームに依存しない方法を求む。
回答者:まず最初に fork() して 親プロセスは exit() して ・・・(以下、略)
あれっ? daemon() ってネタじゃねーの? ホントに有るの?
で、linux.or.jp 行って調べたら、しっかり daemon() が JM に載ってた。
お蔭で、ほんの10分で自作デーモンが出来上がったよ。
いやー、俺すげービックリした。 最近のプログラミングって、つくづく簡単になったな。
62:login:Penguin
05/10/06 20:41:58 Hi1ptbaM
fghack
63:login:Penguin
05/10/07 01:47:36 SjqsnuRY
>>61
デーモン化すること自体は、もともとたいした手間でもないけどな。
> 回答者:まず最初に fork() して 親プロセスは exit() して ・・・(以下、略)
の「以下、略」にいろいろ書いてあったんだろうけど、その中で必須なのは
setsid()することだけだろ? カレントディレクトリをルートに変更して(以下略)
までやったほうが行儀いいけどな。
制御端末から切り離さなきゃならないわけでもない、という話もある。
それを言うと、なにもやらなくていい、ということになるがw
64:61
05/10/07 08:25:10 DGEJCqAt
>>63
いやぁ、俺のデーモンってのは、こうなんだ。
常時稼動させておきたいあるプログラムがあるんだが、これが外部機器の影響で数日に
1度くらいの頻度で落ちる。
そこで、落ちたら自動的に再起動させるデーモンを作ろうと考えた。
( inittab に respawn 付きで記述したコマンドのような動作 )
1) コマンドライン引数として与えられた他のプログラムを、子プロセスとして exec( ) する。
2) 親プロセスは、そのプログラム ( 子プロセス ) の終了を wait( )。
3) wait( ) からリターンしたら ( 子プロセス ) が終了したら、1) に戻る。
っていう単純なもの。 だから、プログラムコードの大部分は、daemon 化する処理に
なるはずだった。
それが、daemon( ) の1行で済んじゃったもんだから、拍子抜けって訳さ。 こんな
「 ネタ 」 としか思えないサブルーチンがあるなんて、思いもよらなかったからな。
>>62
今、調査中だが ・・・ 「 もっと簡単な方法があったつーことか? 」 な悪寒 ・・・
65:login:Penguin
05/10/08 01:19:33 cQUyfIlR
>>64
おいおい。
そんな監視するだけのプログラムをデーモンにするこたねぇだろよ。
cronに任せて毎n分間隔で監視してきゃええじゃねぇかな?
あと、こんな感じでできるような気がする。
1.親プロセスを起動する。
2.親プロセスからforkして、その先で「外部機器の影響で落ちるプログラム」をexecする。
3.親プロセスは、子プロセスのsignalを受け取るようにする。(落ちたら。すかさず2をする。)
4.あとはすること無いと思うので、waitしてる。
66:login:Penguin
05/10/08 01:48:38 EUp0YkR6
nohupでもぇぇじゃないか、ぇぇじゃないか
67:login:Penguin
05/10/08 16:43:26 QksVjeD+
kinuxのディストリ別に、標準コマンドのソースコードが違いますが(ソースの中のヘッダファイルの名前が違ったり)
皆さんのプログラミングされてるOSは何ですか?
deb系 ソースが見つけ易い
debian
ubuntu gnomeデスクトップが整ってる
RPM系
redhat9 参考書のプログラム実行環境だったりする
fedora
centOS 鯖に向いてる感じ
BSD系、Soraris、RHELは、
68:login:Penguin
05/10/08 16:48:54 QksVjeD+
どうなのですかね? 板違いなので除きましたが・・・
RPM系
vine 理系の初学者に向いている。emacsも日本語。
69:login:Penguin
05/10/13 21:35:12 7X6OHKXJ
>>61
daemon(3)はBSD 4.4由来のライブラリ関数で、1993年頃からあるよ。
通常終了するはずが無い常駐プログラムの終了を監視して、数秒以内に
再起動したい状況は結構あるよね。折れもほとんど同じようなコンセプトの
もの(Cで100行のプログラム)を作って使ってるよ。daemon化はしてないが、
特に問題にはなってないな。
探したらこんなの出てきた。こんなに高機能なものはいらないけど、自作
したものの保守が面倒なら、既にあるものを使っておくのがいいかも。
URLリンク(www.libslack.org)
70:login:Penguin
05/10/13 22:19:33 sLBZYW2l
daemontools知らない?
71:login:Penguin
05/10/14 11:03:10 qfnLX5Yn
>>70
知ってるよ
でも板違いじゃない?
72:login:Penguin
05/11/16 10:22:29 Bj7GCSe+
Cでファイルの更新時間を変更するにはどうしたらいいでしょうか
system("touch hoge"); はちょっとダサいかなと思って
73:login:Penguin
05/11/16 11:24:04 2LwI+36C
>>72
touchのソースを読もうと思わんのかい?
utime
74:login:Penguin
06/03/25 00:11:00 yDjJAEUK
gentoo amd64(glibc2.4)でinoftyを使おうと思って、テストプログラムをコンパイルしたら、
/tmp/cc8EI4vn.o: In function `main':
test2.c:(.text+0x5): warning: warning: inotify_init is not implemented and will always fail
と警告が出ます。そして、確かに失敗します。
gaminのソース見たら、自分でsyscall使ってinotify関係を呼び出していました。
このやり方は、正しいやり方なのか、現状の抜け道みたいな物なのでしょうか?
75:74
06/03/25 20:42:13 yDjJAEUK
glibcをコンパイルするときに参照するカーネルのヘッダを新しくしたら
使えるようになりました。
76:login:Penguin
06/03/32 22:30:19 S101QXQ7
ハードクロックをinb,outb使って読むデーモンを作るんだが、
なんでhwclock(1)が繰り返し読み出しを行っているか判らな
い。
知ってる人いますか?
77:login:Penguin
06/04/02 01:39:30 lgKbQ3Mw
読んでいる間に時刻変わったら悲惨な事になるべ。
78:login:Penguin
06/04/29 10:55:01 VLPUOXfX
FUSE ようのプログラムを作成しているのですがちょっと詰まっています。
プログラム側に独自の引数を渡すには普通どうやるんでしょうか。
FUSE 用プログラムに渡された引数は、FUSE のライブラリがパースするように
なっているので、独自の引数をつけると
fuse: invalid argument
と表示されてしまいます。
どなたかアドバイスお願いします.
79:login:Penguin
06/05/27 19:38:21 9Jcfr6TV
CentOS 4.3でプログラミングを勉強し始めたんですが、XWindowsのコンパイルがうまくいきません。
単純に
%g++ -lX11
ではだめなんでしょうか?
手元の本には、こうするということ以上に何も書いていないですし、ググってもわからなかったのでどなたかお助けください。お願いします
80:login:Penguin
06/05/27 21:14:28 B4V3D54O
??
わけわかめ。
エラーさらせ。
81:login:Penguin
06/05/28 00:57:22 TVBnZUdH
リンクするライブラリを書く位置には意味があるよ。
82:login:Penguin
06/09/07 13:46:38 Ps6xV3hc
usleep(1)で実際に寝てた時間を計測したいんだけど
なんか簡単でそこそこ精度のいい法王ある?
83:login:Penguin
06/09/07 13:55:20 O+EIzNPQ
環境依存でいいならRTC
84:login:Penguin
06/09/07 21:35:17 8QwKVwyX
x86ならTSC見ればいいんでないかい。
85:login:Penguin
06/09/08 04:13:14 KhmQSVSr
環境非依存なら普通にgettimeofday
TSCは
#include <asm/msr.h>
rdtsc
rdtscl
rdtscll
あたり
86:login:Penguin
06/11/26 04:21:53 2cZaftoe
ルート権限で突っ走るプログラムを書いてるんだけど、
一般ユーザが投げるシグナル(なんでもいい)を受けたいのに
Operation not permitted って出て投げてもらうことができません。
どうしたらいいでしょうか
87:login:Penguin
06/11/26 11:23:31 SPqfyYuX
一般ユーザが実行すると、実効ユーザをrootにしてシグナルを送るプログラムを書く
88:login:Penguin
06/12/08 00:30:08 c3V3Q9m7
たとえばライブラリ hoge1.a と hoge2.a をリンクして hoge3.a
を作る方法を教えて。
89:login:Penguin
06/12/09 01:47:55 7wC+QgEB
C/C++での2重起動防止について教えてください
90:login:Penguin
06/12/09 02:33:35 Nt4zOwfD
どういう条件での話だか分からんが。
うっかりミス防止ってことなら、flock()でも使えばいいんでねえの?
91:89
06/12/09 02:52:03 7wC+QgEB
exeとかの2重起動防止だったんだけど。
flock()でいいんかな。よく知らないのでわかりません。
open()使うんだろうけど、
これって実行プログラム内でそのプログラムのファイルディスクリプタって得られるものなのかね
92:login:Penguin
06/12/09 03:24:05 vHGg2QAV
適当なファイルでいいじゃん
93:login:Penguin
06/12/09 03:32:08 54k/0nQv
ロックファイル使うとかプロセス名から判断するとか、あるいはDBUS使うとか。
ロックファイル使うやり方が一番簡単。後の二つは書いといてなんだが
よく知らんので、もしかしたら出来ないかもしれない。
実行ファイルそのものをflock()はやったことないな。
後、ディスクリプタはプロセスごとに持ってるものだし、
実行ファイルそのもののディスクリプタを得るにはargv[0]からopen()するしかないと思う。
94:89
06/12/09 03:32:38 7wC+QgEB
おまえ天才
95:89
06/12/09 03:34:06 7wC+QgEB
てきとうなファイルでやればいいとは気づかなかったよ
96:login:Penguin
06/12/09 09:48:52 Nt4zOwfD
そう、適当なファイルでやる。
シグナルを送る際の便宜のために、自分のPIDを書いた hoge.pid みたいな
ファイルを作ることが良くあるが、そいつにロックかけるというのがありがち。
97:89
06/12/09 23:28:20 ct3MaVHM
ロックファイルを使う方法はなんとなくわかったから、実行ファイルにflock()を実験してみた。
そしたら実行ファイル自体にflock()はできるみたい。
実際、実行ファイルをflock()していいのか分からないけど、
下のプログラムで2重起動防止は成功した。
int main(int argc, char *argv[]){
int fd = open(argv[0], O_RDONLY);
if(fd == -1){
return 0;
}
if(flock(fd, LOCK_EX | LOCK_NB) == -1){
return 0;
}
//処理
flock(fd, LOCK_UN);
close(fd);
return 0;
}
だめな部分あったら教えてください。
98:login:Penguin
06/12/09 23:35:00 vHGg2QAV
-1が帰ってくるところってみんな == -1 でやってる?
オレはなぜかしらんが < 0 でやることが多い。
いつからそうなったのか自分でもわからないが
99:login:Penguin
06/12/09 23:51:28 PZAeSbKs
-1以外に負数がエラー番号として使われる関数がしばしばあるみたいだから、
全てのエラーに対して特定の処理する場合は<を使って、
-1のエラーのみ考慮する場合は==を使ってるよ。
と負数で-1以外のエラーを吐く関数を知らない俺がマジレス。
100:login:Penguin
06/12/10 05:24:03 eKPQDbb7
>>97
実行ファイルが複数ある場合はその数だけ実行できるが
それで目的に合っているなら問題ない。
101:login:Penguin
06/12/20 09:38:29 wUoDfaxG
sjisやらeucやらのマルチバイト系から
UTF-8やらUTF-16に対応させたいんだけど、linuxって
windowsみたいな、便利なAPIは用意されてるの?
やっぱり多言語化じゃ、windowsの圧勝かな、かな?
102:login:Penguin
06/12/20 20:34:08 23Zjx0Yh
釣りなのか無知をひけらかしたいのかどっちだ?
103:login:Penguin
06/12/21 15:09:32 r43DQSG8
>>102
負け惜しみかい?
あるならちゃんと教えてみてくれないかな、かな?
104:login:Penguin
06/12/21 15:18:54 wTdtL7fh
キモイ無知だ
105:login:Penguin
06/12/21 16:03:21 I4fXsxTd
iconv ってのをご存知ないかね?
106:login:Penguin
06/12/21 16:34:59 RWqIsAug
>>101
最近のWindowsってシステムフォントやヘルプを他言語で表示できるの?
ようこそ画面もドイツ語、韓国語、中国語、アラビア文字などで表示できちゃうわけ?
107:login:Penguin
06/12/21 17:09:59 c78SoGib
>>103
べつに勝ちとかじゃないだろすきなほうを使えばいいんだから
108:login:Penguin
06/12/27 16:50:02 jeKAmukV
>>103
うわ、キモ。
厨房は受験勉強でもしててくれ
109:login:Penguin
06/12/29 00:14:31 +0PGL+hD
code::blocks 使ってる人いる?
実行でコマンドラインで引数渡せん。
110:login:Penguin
07/01/22 07:29:18 rYp+9CMw
CentOS 4.4 x86_64で以下のようなプログラムを走らせると、
errno=22(Invalid argument) のエラーになってしまいます。
/dev/hda8(/home) でQuotaが設定されててオンになってることは確認済みです。
UID 500のユーザも存在します。
repquota -a や edquota admin も問題ありません。
どなたか原因分かりませんか?
#include <errno.h>
#include <sys/quota.h>
int main( void ) {
int result;
struct dqblk quotaStatus;
result = quotactl( QCMD(Q_GETQUOTA,USRQUOTA), "/dev/hda8", 500, (caddr_t)"aStatus );
printf("result: %d, errno: %d: %s¥n", result, errno, strerror(errno));
return 0;
}
111:110
07/01/22 07:32:07 rYp+9CMw
quotaの設定は以下のような手順で行いました。
/etc/fstab の /home のところに defaults,noatime,usrquota,grpquota を記述
mount -o remount /home
touch /home/aquota.user
touch /home/aquota.group
chmod 600 /home/aquota.*
quotacheck -mugv /home
quotaon -auvg
112:110
07/01/23 06:07:17 4TCpYdze
自己解決しました。
#include <sys/quota.h> の前に
#define _LINUX_QUOTA_VERSION 2 を付けてやればOKでした。
113:login:Penguin
07/01/30 06:59:32 HbwLMV4J
ほとんどはリナックスに関係無いね(w
114:login:Penguin
07/04/01 23:09:56 u9bTw6ly
C言語で、ファイルが存在するかどうか確認したいんだけど
openはしたくない。 どうしたらいいかな
stat使うしかない?
115:login:Penguin
07/04/02 00:01:43 ZonqDA/5
readdir(3)でもaccess(2)でもstat(2)でもご自由に。
116:login:Penguin
07/04/14 23:35:37 rDs8AFmH
kernel2.6でopenにO_DIRECTを付けてwriteした場合
端数の面倒は自分でみないといけないと思うのですが、一般的にどのように処理すべきなんでしょうか。
まず、自前でバッファを実装するのは当然として、
・端数が生じてまだデータが到着する場合
・端数が生じてデータが到着しない場合(close()する)
他のケースは、倍数に合わせて書き込めばいいので問題ないのですが上記2つの場合
どうすればいいんでしょうか?
117:login:Penguin
07/04/16 00:05:08 nIV1W8As
>>116
自分の都合のいいように書く。
・端数が生じてまだデータが到着する場合
1) とりあえず1セクタ分書く。その後、到着した時点でもう一度書く。
最初に書き込む際の端数は、どうせすぐに上書きするので気にしない。
2) 到着するのを待ってから1セクタ分書く。
・端数が生じてデータが到着しない場合(close()する)
仕方がないので1セクタ分書く。端数の部分は
1)破壊してはいけないのであれば、読んでから変更部分のに更新して上書きする。
2)破壊していいのなら、気にしないでかく。気になるなら0で埋めておく。
118:login:Penguin
07/04/17 01:39:28 IktG2dol
>>117殿
・端数が生じてまだデータが到着する場合
まぁバッファにキャッシュでもして貯めておけばOKってことで解決しました。
・端数が生じてデータが到着しない場合(close()する)
破壊したくないので端数は気にしないで書くことでいいのですが、O_DIRECTの仕様がいまいち判ってないのですが、端数分中途半端に書き出すとセグ落ちしますよね?必ず埋めて書くしかないのでしょうか?
119:login:Penguin
07/04/26 20:17:05 FYgLMe9p
組み込みLinuxで開発やってます。
VSync割り込みごとにアプリで処理したいのですが、
アプリ処理中にHDDとかに長時間アクセス行くと、
IDEドライバが動きまくってアプリの処理が抜けます。
H/Wは性能アップできないのですが、なんか
いい方法ないでしょうか?
120:login:Penguin
07/04/26 20:57:19 GX2/mssv
>>119
つ IngoのRTパッチ
121:login:Penguin
07/04/27 23:58:09 +IAxaDn3
>>120
カーネルは2.4です。色々あって2.6にはできないッス。
RT Linuxを使うわけにもいかず、八方塞です…。
122:login:Penguin
07/04/28 00:01:54 KteSqW/E
プロプラは相当のコストがかかることが分かって勉強になっただろ?
123:login:Penguin
07/05/08 10:25:16 Lkj+Xxxr
どういうときにfloatよりdoubleの方が速くなるの?
124:login:Penguin
07/05/08 10:37:26 /9NhRNOL
CPUは?
今時のx86なら普通に計算すればそうなる。
125:login:Penguin
07/05/08 23:45:54 h0icA70t
>>123
最近のCPUではバウンダリの関係で、そうなる。
が、SSEで最適化されてるとfloat4つでパックされるので必ずしもdoubleの方がいいとも言いきれん。
126:login:Penguin
07/05/21 02:10:20 /b/2zTxh
「The Linux Programmer’s Toolbox」っていう本、
目次見た感じだと非常によさげなんだけどなんで話題になってなんでしょうか?
URLリンク(vig.prenhall.com)
127:login:Penguin
07/05/21 07:54:30 usFZwaQm
目次だけを見て判断すると、初心者が体系的な知識を得るのに良さそうだけど、
このスレッドの話題のほとんどはその本の内容よりも先のところにあるように思う。
だからといってスレ違いだとも思わんが、どちらかといえば
スレリンク(linux板)l50
のほうが向いている話題かもしれん。
128:login:Penguin
07/05/21 08:40:13 /b/2zTxh
誘導ども。そちらにいってみます.
129:login:Penguin
07/05/24 14:06:26 dalBD+dF
すいません、C板からきますた。
Linux上のgccで書いているのですが、
たとえばpid=1234のプロセスがまだ生きているかどうかを調べるには
どうしたらいいのでしょうか?
kill(pid, SIGALRM)とかやって応答を見るのは一般的にありなのでしょうか?
130:login:Penguin
07/05/24 14:29:03 2toxbSyc
Linux限定でよければ
stat("/proc/1234", &foo)
とか。
131:login:Penguin
07/05/24 14:34:18 dalBD+dF
>>130
なるほど。サンクスです。
132:login:Penguin
07/05/24 20:07:47 Pjfa+z+T
もう解決したようだが
>kill(pid, SIGALRM)とかやって応答を見る
はヤバ過ぎるぞ。アラームの時計はプロセスにつき1個しか持ってないんだから。
133:login:Penguin
07/05/24 23:14:55 ntrDfnOs
>>129
killで調べるときは kill(pid, 0) とする
134:login:Penguin
07/05/29 08:41:32 5ePsYsOB
プログラミング板でLinuxのAPIが調べられるサイトがあったら
教えてくださいと書き込んだら笑われてしまった。なんで?
135:login:Penguin
07/05/29 10:24:26 wH2lmnhl
ど素人丸出しで尚且つ意味不明だからじゃないだろうか。
例えば「プログラミングの方法を教えてください」くらいに曖昧で、
ドライバからWebアプリまでどんなことをしたいのか質問した本人にも
分からないような状態に似ている、といえば分かってもらえるかな。
もう少し状況を補足してどんなことを望んでいるのか具体的に
質問すべきだろうな。
136:login:Penguin
07/05/29 11:42:54 6pYOgoyb
>>134
システムコールで調べてみろよ。
137:login:Penguin
07/05/29 12:42:30 d+4MTQ2i
>>135
138:login:Penguin
07/05/29 19:58:36 JJGfUn4S
「LinuxのAPI」を杓子定規に解釈すれば>>136なんだろうが、
質問者が望んでるのは多分違うだろうと思うよなw
139:login:Penguin
07/05/29 23:22:52 euTw/pCb
URLリンク(www.linux.or.jp)
まあこんなとこかい?
140:login:Penguin
07/05/30 12:39:54 NGuDmB0U
サン(゚∀゚)キュー!!
141:login:Penguin
07/06/04 20:26:47 o//m8uq5
>>134
man open
142:login:Penguin
07/06/04 21:07:45 ZrYzLiHb
マン○オープン
143:login:Penguin
07/06/14 19:54:09 UbI2kDRt
1プロセスあたりのスレッドの最大数が知りたかったため、
getconf -a
を実行して、PTHREAD_THREADS_MAXの値を知ろうとしました。
しかし、そこだけブランクで表示されています。どうしたらいいのでしょうか?
OSはCentOS 5.0です。
144:login:Penguin
07/06/15 23:19:32 Sf3Vnle8
SuperCon2007 ― 夏の電脳甲子園
スレリンク(tech板)
1 :デフォルトの名無しさん :2007/06/15(金) 23:05:16
がんばれっ!天才高校生諸君
スーパーコンピューティング・コンテストSuperConは、
高校生がスーパーコンピューターを使って、プログラミングのアイデアを競う大会です
今年は阪大に今年導入された最新のスーパーコンピューターを使います
プログラミング大好きな高校生諸君!
来たれ阪大・東工大へ!!
諸君のアイデアをスーパーコンピュータ上で実現してみよう!!!
URLリンク(www.gsic.titech.ac.jp)
145:login:Penguin
07/06/18 19:02:45 CAq6Xatz
>>143
無限ってことさ
146:login:Penguin
07/07/31 10:32:30 k8ila0Kz
Cでプログラム組んでて、設定ファイルが必要になったとき
FUGA="Flandre"
HUHUN=1
みたいな形式の設定ファイルを読み込みたいときって
なにか便利なライブラリがあるんでしょうか
それとも毎回構文解析から作ってる?
147:login:Penguin
07/07/31 10:37:54 FuyEnGvx
それのどこに構文解析が必要なのかわからない。
148:login:Penguin
07/07/31 10:55:24 KvXlj0QL
p = strchr(line,'=');
strncpy(var,line,p - line);
strcpy(val,p + 1);
149:login:Penguin
07/07/31 12:22:35 de2QRnQ0
前後に付いてくるであろう空白くらいは
取っぱらった方がいいのではないかと。
150:login:Penguin
07/07/31 12:24:48 KvXlj0QL
>>149
普段はperlでやるもんで。サーセン
# でも、ほんとにベタな設定ファイルをパースするライブラリってあってもいい気がするけれど。
151:login:Penguin
07/07/31 14:24:42 de2QRnQ0
Tclとか。
PerlのIniFilesみたいなのがほしいですな。
152:login:Penguin
07/07/31 18:17:36 jMzQnQMZ
GLIBにGKeyFileってのがあるよ。
153:login:Penguin
07/07/31 18:25:53 /7g2AZAI
>>146>>148
姫様、犬でも使えるstrtok()がふさわしいと思いますわ。
manに何と書いてあっても、気にしなければすむことですもの。
154:login:Penguin
07/07/31 19:51:00 KvXlj0QL
>>153
結局前後のスペースをトリムしたりとかせんとあかんです。
155:login:Penguin
07/07/31 20:57:48 /7g2AZAI
そこは=とスペースとタブと改行を全部まとめて区切り文字に指定すればよろしいのですわ。
156:login:Penguin
07/08/01 01:18:58 SryWC6Ba
>150
freshmeatでparserで検索したら結構あったな。libConfuseとかlibmbaとか良いんじゃないか?
157:login:Penguin
07/08/03 01:06:49 bvfzNSNn
でも、
こういうのって例えば、
FuGa = """"""""ふがfuga" HuHun=2 <- 文字列の形式を守ろうとしない & 1行に2つの設定をしようとする
リザたんかわいいよハァハァ sa="わわわわ" <- 勝手に関係ない文字列を設定の前に挿入してくる
とかイレギュラーなことしまくってくる人がいるからねー。
そういう人は無視していいのか、それともきちんと
Fuga = "ふがfuga"
Huhun = 2
sa = "わわわわ"
っていうふうに
読むようにしてあげるべきなのか迷うよね。
きちんと読むようにしてあげようとすると結構大変だしね。
158:login:Penguin
07/08/03 01:26:59 pZ3QldO1
マルチポストになるけどこっちでもきくよ
linuxでmath.h(の中にあるはず)のtanhってどうやって使うの?
なんか今/usr/include/math.hの中見たらtanhとか入ってないっぽいんだが…
159:login:Penguin
07/08/03 01:36:28 bYKPBVOp
find /usr/include -name '*.h' -print0 | xargs -0 grep -l tanh
160:login:Penguin
07/08/03 01:39:28 bYKPBVOp
「出てきたファイルを#includeすればいいのか」と勘違いしそうなので補足
しておくが、出てきたファイルはmath.hから間接的に#includeされているの
で、math.hだけでOK。
161:login:Penguin
07/08/03 01:39:53 pZ3QldO1
$ find /usr/include -name '*.h' -print0 | xargs -0 grep -l tanh
/usr/include/bits/cmathcalls.h
/usr/include/bits/mathcalls.h
/usr/include/bits/mathinline.h
/usr/include/tgmath.h
/usr/include/c++/4.1.2/athlon-redhat-linux/bits/c++config.h
/usr/include/c++/4.1.2/bits/valarray_after.h
/usr/include/c++/4.1.2/bits/valarray_before.h
/usr/include/c++/4.1.2/i386-redhat-linux/bits/c++config.h
/usr/include/kde/arts/gsl/gslmath.h
/usr/include/slang/slang.h
/usr/include/mpfr.h
/usr/include/OpenEXR/ImathMath.h
わーい、いっぱーい
ところがどっこい、tanhの関数はどこにもないのだな…
162:login:Penguin
07/08/03 01:40:58 pZ3QldO1
>>160
…むぅ
#include <math.h>
しても
「tanhなんてシラネーヨ」って文句言われる…
163:login:Penguin
07/08/03 01:41:28 pZ3QldO1
ひょっとしてglibc-2.6.90が悪いのだろうか…
164:login:Penguin
07/08/03 01:43:12 sqX5B/B5
>>161
お前の出した検索結果の中にマクロでちゃんと定義されてるんだが。
マルチな上にgrepもろくにできない馬鹿は死ね。
165:login:Penguin
07/08/03 01:46:53 bYKPBVOp
ひょっとして -lm してないとか。
166:login:Penguin
07/08/03 01:50:22 pZ3QldO1
>>164
うむ、よく見たらあったわ。
>>165
…ビンゴでした。
死んできます
167:login:Penguin
07/08/03 08:02:55 xQTim/UJ
>>164
生理か?
168:login:Penguin
07/08/06 00:31:05 S/MosQJv
メンスの奴とは別人だが
マルチに対する扱いなんてそんなんで十分だろ
相手してやってるだけまだいい
169:句読点打てない奴をサマージャンボする俺 ◆1xdL.Dyf.I
07/08/06 01:01:54 /X3u713J
>>168
170:login:Penguin
07/08/06 11:19:51 oyGAmwrq
句読点ってサービスでしょ
171:login:Penguin
07/08/08 01:02:25 G1QcNwNo
LinuxでELFのリバースエンジニアリングって
objdumpでシコシコasm読み以外方法はなし?
172:login:Penguin
07/08/08 09:34:33 QVlDzd80
>>171
どんな形式をご所望か?w
173:login:Penguin
07/08/08 23:39:35 G1QcNwNo
>>172
ある脱走兵が作ったコードをよく嘘を付く人間が
保守してるのですが、その人が作った.oファイルは
報告書と実際に作った者が違ったりして困ってる
のですよ。
だからできれば最高ソースコードに近いモノ
最低でもコンパイルしたときに使った.o,.soの履歴が
わかるものが欲しいのです。
174:login:Penguin
07/08/10 05:39:01 CiGbCZSU
>>173
コンパイルに使う.o .soって?
リンクのことだとしたら.soは実行時にリンクするから関係なくない?
(.soならlddで)
つーか、ソースで提出させれば?
175:login:Penguin
07/08/16 00:34:39 yq0XfAX7
デバイスを6個監視する場合
select、epoll、poll
どれが一番CPUとSyscallの消費が少ないのでしょうか?
どうにもepollってデバイス20個ぐらいないと重いような気がするのですが
どうなんでしょうか?
176:login:Penguin
07/08/16 01:54:41 QulO8FUO
>>175
selectの中の人はポールさんだから大丈夫
177:login:Penguin
07/08/16 21:48:08 yq0XfAX7
あうー?なんかepollの方がselectよりCPU食うんだけど
なんで?
178:login:Penguin
07/08/16 21:55:22 AwhSe/8M
epollって1000とか2000とかのfdを管理するのに
使うんじゃないのか?
179:login:Penguin
07/08/19 23:08:57 Jwx7kX+u
ちょっと質問なのですが
Kernel2.4でNPT使って時刻同期します。
その結果をなるべく正確にSystemで扱おうとするなら
使うべきシステムコール(API)どれに限定されるのでしょうか?
要件は限りなく100ms、500ms、1000msを正確に扱いと思ってます。
ある処理Aを実行(timestamp添付)---->timestampをみて処理Bを実行
って感じでしたいのですが
180:login:Penguin
07/08/19 23:25:15 vDapTuA8
>>179
gettimeofday見てselectで寝ろ
181:login:Penguin
07/08/19 23:39:13 Jwx7kX+u
>>180
gettimeofdayで見てふて寝すると
他のプロセスに影響受けないのでしょうか?
プロセスが起動した後、プロセスの経過時間は
他のプロセスに影響を受けずにHzに依存した
値が必ず取れるような事を聞いたのですが
ソースがどこにあるのか不明確でいまいち自身が持てません。
182:login:Penguin
07/08/20 00:02:10 vDapTuA8
>>181
どっちに転んだってユーザランドじゃ大した精度出ないんだから
10ms20msは我慢しろ
usleepだってHzずれるんだからビジーるなら10ms以下にしろ
183:login:Penguin
07/08/21 23:42:58 pHBjUifM
あのーちょっと質問したいのですが
pthread_mutexがガチロックしたのか
スルーしたのか回数計測したいときみんなどうしてるのですか?
184:login:Penguin
07/08/23 22:49:48 UiMaHCiE
SMPに影響受けないでrdtsc を
有効に利用するにはどうすればいいのでつか?
185:login:Penguin
07/08/24 21:28:32 5YYyJQdp
SMPを切る・・・
またはどっちのCPUか見る
186:login:Penguin
07/08/24 23:19:03 16/3XJrM
>>185
そんなのヤダもっとましな回答して
187:login:Penguin
07/08/25 01:21:25 RAJat6oH
じゃあCPUを指定してみるしかないな
つーか、今どきrdtscなんてつかわねーよ
188:login:Penguin
07/08/25 01:35:08 QDqJEumv
>>187
じゃあ何使うの?kernel2.4.24なんだけど
何使えばいいの?
gettimeofdayとか馬鹿なこといわんでね
半端無いほど重いから
1秒間に処理56万回走るからそんなもん
呼べないからさ
189:login:Penguin
07/08/25 14:52:48 vg/ekNcu
>>188
rdpmcでも見とけ
このくらい自分で考えるか調べるくらいやってみせろよ
190:login:Penguin
07/08/31 00:22:30 bNhX50eL
-finstrument-functionsで関数のアドレス収集してるのですが
親プロセスがforkしてできた子プロセスが利用する関数アドレスも
収集するにはどう工夫すればいいの?
191:login:Penguin
07/08/31 08:43:41 JY1783PZ
そういうのはgccのオプションだけじゃむり。
oprofileでも使うのがよろし。
192:login:Penguin
07/09/01 17:10:23 a8PEtCzI
FD_SETSIZEを変更したいんだけど
カーネルに手をつけたくない
193:login:Penguin
07/09/01 17:13:55 imGXo2iv
>>192
変更しなきゃならない用途ならepoll使えよ。
194:login:Penguin
07/09/01 18:29:48 a8PEtCzI
まあそういうなよ
プログラム直すの面倒ジャン
ちょっとの変更ですむならそれに越したこたないさ
195:login:Penguin
07/09/03 07:50:58 8cQjC7y5
epollでselectもどき作ればいいじゃん
196:login:Penguin
07/09/07 00:37:18 KH51Gp9U
wait(2)が戻した結果のintの変数をpretty printしてくれる関数ってありましたっけ
197:login:Penguin
07/09/07 01:55:34 WJVdacsE
FD_SETSIZEは、アプリケーションのコンパイル時に設定されてれば
いいみたい。
カーネルのバージョンによってはカーネル変数の調整は必要かもしれんけど。
つ URLリンク(www.drk7.jp)
つ URLリンク(vce.ce-lab.net)
198:login:Penguin
07/09/08 02:39:58 TlovepZt
e1000のモジュールのスタックに
直接パケットデータ突っ込むにはどうすればいいの?
そんな野蛮な変態プレイはそもそも不可能?
199:login:Penguin
07/09/08 15:18:35 WTAz4Fzz
e1000のドライバー改造すれば?
メリットないと思うけど。
200:login:Penguin
07/09/09 00:53:48 f5ZEEQ8F
>>199
SysCall 減らしたいんですよね
あと300msec速くしたいんだけどもう
詰めるところなくて
201:login:Penguin
07/09/09 02:30:46 aJCtB81I
めちゃくちゃ減らす必要があるなそれ
300msなんてあったら昇龍拳の無敵時間だって切れちまうぞ
202:login:Penguin
07/09/09 21:25:21 DeeQH1b4
要求設計から間違っている。
203:login:Penguin
07/09/09 22:18:51 bapUmkn7
syscall減らしたくらいじゃ300msecも減らないって。
204:login:Penguin
07/09/09 23:34:44 YHSemaf1
300msって今が何msで、何を300ms短くしたいんだ?
205:login:Penguin
07/09/10 00:03:29 BXnhWyVJ
>>204
俺もそれずっと疑問だった。
206:login:Penguin
07/09/12 00:28:38 oZCXyX9R
FIFOというか、なんかプロセス間でデータを渡せるキューを作りたいんだけど
キューになんかデータが残った状態でPCの電源切って再起動して
またプログラム動かしたら続きから読み出せるようにしたりしたいので
共有メモリやらメッセージキューやらではない方法で何かいい手を探し中。
なんか良いアイデア無い?
今はSQLiteとか使ってDBをキュー代わりにしてるんだけどなんか
大げさな気がするし、こんな使い方を世間が許すのかちょっと疑問。
207:login:Penguin
07/09/12 00:58:56 1T4//6px
queue daemonでggr
LPRngとか?MTA系全般?でもSQLiteより大げさか。
ホントに出し入れだけでいいならmaildirフォルダで処理してもいいかな。
O_SYNC+mmapでファイルにマップしたオンメモリキューの操作でもいけるかな。
208:login:Penguin
07/09/12 01:09:11 oZCXyX9R
queue daemonでググったら>>207がひっかかった
なんだグーグルのこの異常な速さ
それはさておき、大げさなのが嫌なのは
少しだけ速さを要求されるからなのです
といってもまー大した問題じゃないか
209:login:Penguin
07/09/12 01:25:05 1T4//6px
>>208
書き忘れてたけど、BDBのqueueでいいのかも
210:login:Penguin
07/09/12 13:03:41 u3WShS8c
MQ
211:206
07/09/12 13:15:50 u4sMCnUI
>>210
これ、本物のファイルで出来たっけ?
212:login:Penguin
07/09/12 23:31:37 JMXvhgKg
10GbpsのNICを2枚装備している
マシンがあるのですが
eth0から毎秒500MB/secでデータ受けて
そのデータをeth1に転送してます。
recvとsendで処理してるのですが
すぐ8CPUとも80%前後まで使用してしまいます。
もっと言い方法ないですかね?
213:login:Penguin
07/09/12 23:57:54 +2hRysfN
>>212
splice?
214:login:Penguin
07/09/13 11:12:31 V08yA5s5
>>212
/proc/sys/net/ipv4/tcp_{rw}mem
を調整
215:login:Penguin
07/09/13 14:36:42 CQWMmnll
コマンドラインのkillallと同じようなものをCで実装したいとき
なんかかっこういい方法ある?
216:login:Penguin
07/09/13 14:41:36 V08yA5s5
killallのソース見たら?
217:login:Penguin
07/09/13 14:44:59 +lSCice8
term シグナルを送りまくれ。
ソースをそのままパクレ。
218:login:Penguin
07/09/13 22:26:06 RMrzW8HD
>>210
MQって何?(というかどれ?Javaなのしかかからん・・・)
219:login:Penguin
07/09/13 23:22:59 YhbwIeB9
>>214
その辺はいじってるけどそんなんじゃ焼け石に水だったw
結局さどうすりゃいいのかね
eth0からeth1にパケットデータ中継したいだけだからさ
zero copyできるような方法ないのかな?
sendfileは入力デバイスがファイルmmapじゃないとダメだったし
spliceも入力もだめだった。
あと方法ないかな?
220:login:Penguin
07/09/14 10:19:36 LGchwi2d
>>219
spliceはsendfileを置き換えて任意のディスクプリタがOKになって
いるはずなんだか。カーネルのバージョンはいくつ?
221:login:Penguin
07/09/14 10:21:51 LGchwi2d
>219
あとはcold.sysで聞いてみるとか。
222:login:Penguin
07/09/15 01:08:50 Gol0FyEz
>>220
Linux Ubuntu 2.6.20-16-generic #2 SMP Thu Jun 7
20:19:32 UTC 2007 i686 GNU/Linux
ですけど対応しているから問題ないですよね?
eth0 = socket()
eth1 = socket();
後はspliceでいいのですよね?
splice(eth0, NULL, eth1, NULL, size ,SPLICE_F_MORE | SPLICE_F_MOVE
>>221
えーとそれどこでしたっけ?
223:login:Penguin
07/09/15 01:53:37 YiwEKkpX
>>220
man 2 splice だと
splice() moves data between two file descriptors...
...where one of the descriptors must refer to a pipe
とかあって、この "pipe" って何? pipe(2) な pipe ?と微妙に
どんな意味の制約なのか読めてないんだけど、知ってたら教えてくらはい。
あ。漏れは元質問者とは別の中の人です。
224:login:Penguin
07/09/15 11:40:17 X+EQNSuz
>>222,223
間にpipeはさむ事で組み合わせの爆発を防ぐの。
splice linux 使い方、でググれよ。
225:login:Penguin
07/09/15 13:00:59 WW33Uygn
>>221
cold.sysって何ですか?
226:login:Penguin
07/09/15 13:34:32 v9/27PR8
comp.os.linux.development.sys ?
227:login:Penguin
07/09/15 14:53:45 Gol0FyEz
cold.sysで聞いたら
japは2chで聞けよって笑われたんだけど
どうしたらいいのw?
228:login:Penguin
07/09/15 16:17:21 YiwEKkpX
>>227
fjにでも逝け
229:login:Penguin
07/09/15 20:17:38 WW33Uygn
>>227
ログ見せて
230:login:Penguin
07/09/15 20:33:58 26HMq0m6
>>227
c.o.lは2chと同じだからな。
だいたいLinux自体煽りから生まれた代物だし。
Linuxでまともに質問できる場所なんて未来永劫現れないよ。
金払っても無理だ。
レッドハットサポートつかえばよく分かるぞ。
231:login:Penguin
07/09/15 22:11:48 ZssMtkX9
レッドハットじゃあ話にならんだろ。
IBMなんかのほうがまだマシ。あれもお寒いものだが。
バカ高い金を払ってもいいなら、VAはそれなりの回答をくれた。
といってもずいぶん前の話だから、最近はどうだか知らないけど。
2、3年前から安いサービスをやってるけど、あの値段じゃあたいした回答は貰えないだろうなと思った。
232:login:Penguin
07/09/15 23:20:27 26HMq0m6
それを考えるとやはりマイクロソフトが相当お買い得なんだよな。
開発元直結っていう強みなんだろな。
233:login:Penguin
07/09/15 23:29:55 2Di70A/1
確かにredhatに電話した後msに電話するとあまりの対応の違いに
MS信者になりかけてしまうよな
ならないけど
234:login:Penguin
07/09/16 00:13:28 C2jUU4Gn
まじな話ぐぐるの人間と酒飲みながら
話たほうが勉強なるってところで
RもVも終わってる。
235:login:Penguin
07/09/16 00:17:06 0jBsOxD6
MSいいか?ちょっとでも込み入った質問は全部USに転送されて時間かかるし、
翻訳ミスだかUSのエンジニアもたいしたことないんだか知らんが、まだ
回答に満足できたケースがないんだが。スレ違い+チラシの裏ですまん。
>>231
VAって何をきくのにいくらくらいかかるの?
その、まぁまぁまともな高い方とやらで。
236:login:Penguin
07/09/16 00:19:38 xdnEBkyg
> 何をきくのにいくらくらいかかるの?
馬鹿発見。
237:login:Penguin
07/09/16 00:26:49 0jBsOxD6
>236
理由は?
238:login:Penguin
07/09/16 00:47:56 C2jUU4Gn
VA200万ぐらいからなかったっけ?
239:login:Penguin
07/09/16 06:21:36 jr/7tlT0
>>237
理由は?って・・・
理由がわからないのお前だけだと思うぞw
240:login:Penguin
07/09/16 12:39:28 0jBsOxD6
だめだこいつ。
Linuxの質問を業者にするという感覚が不思議なんだよね。俺は必要なら当然自分で調べる。
自分で調べる能力の欠如した低能は最大でいくら位お布施してくれるのかなと思ってさ。
241:login:Penguin
07/09/16 12:51:44 UUEKlOam
>>240
だからこそじゃないか。
漁場は大事にしなきゃだめだぜ
242:login:Penguin
07/09/16 12:55:35 jr/7tlT0
>>240
お前は食べるものは全部自分で作るのか
魚は稚魚から育て、コメは稲から育て
その感覚がまずわからんわ
243:login:Penguin
07/09/16 13:01:30 0jBsOxD6
> お前は食べるものは全部自分で作るのか
> 魚は稚魚から育て、コメは稲から育て
そうだよ。オープンソース関連についてはね。
お仕事頑張ってね、SEさん☆
244:login:Penguin
07/09/16 14:04:18 huGDb2pP
金払ってサポート受けてると、サポート外になるからって、回避策とかみつけてもやらせてくれないし、
やる気がなくなるよ。
と、書いてみたが、プログラミングのサポートなんか受けたことないんだった。
245:login:Penguin
07/09/16 14:12:41 36uWBAtJ
>>243
それではまず半導体プロセスについて語ってもらおうか。
原石はどこから切り出しているんだ?
246:login:Penguin
07/09/16 14:19:01 uzxa+jYq
わざわざ言うことでもないだろうが内心は>>240、外面は>>241でいいんじゃないか。
>>245みたいな馬鹿はおいといて
247:login:Penguin
07/09/16 14:54:34 M2oozAy/
ヲタの趣味なら納期もコストも関係ないけどなぁ。
オープンソースで一番困るのは、不可解な動作があったとして
それが仕様に該当するのかそれともバグと考えていいのか
誰も判断できないことなんだよな。
248:login:Penguin
07/09/16 14:59:52 C2jUU4Gn
>>247
それはいくらなんでもないだろ。
アセンブラよまねーとならねぇなんてことはない。
結局責任とりたくないだけだろうな
APIもソースも見れてそれはないよね?
249:login:Penguin
07/09/16 15:19:02 M2oozAy/
>>248
それ何のギャグ?
250:login:Penguin
07/09/16 15:22:25 M2oozAy/
あぁ、これが釣りってやつか。
わかんなかったわ。
251:login:Penguin
07/09/16 17:28:06 huGDb2pP
オープンソースなら、ソースにある通りだろ。
まあ、コンパイラとかのバグもあるけど。
252:login:Penguin
07/09/16 20:12:51 0c6+c6lv
これがLinuxクオリティー。
そしてこんなやつらがトップクラスのLinuxエンジニアらしい。
253:login:Penguin
07/09/16 20:21:50 0c6+c6lv
> オープンソースなら、ソースにある通りだろ。
> まあ、コンパイラとかのバグもあるけど。
何度見てもすげーな。
254:login:Penguin
07/09/16 23:20:30 huGDb2pP
だって、ドキュメントが当てにならないプロジェクト多いじゃん。
あと、残念ながら、全然Linuxエンジニアじゃないから。
Linuxは使うだけ。
255:login:Penguin
07/09/16 23:51:20 qjxl6X83
>>254
まぁエンジニアじゃないなら仕方ないか
もしPGで「ソースが仕様書」なんて言ってたら
若狭湾に浮かべてたとこだ
256:login:Penguin
07/09/16 23:59:57 ga5wXfPF
>>255
なに言ってるの、基本じゃんw
257:login:Penguin
07/09/17 00:18:13 Gghi5nzi
考えるな、感じるんだ!!
258:login:Penguin
07/09/17 00:35:37 KF6+83sP
>>255
PGなんて略語を使ってる時点でお里が知れるぞ。
まぁあと、きみの論法だとgoogleの連中はみんな若狭湾だな。
259:login:Penguin
07/09/17 01:05:07 7mF7zMDJ
「仕様書」が存在するかどうかに関わらず、ソースは実装であって仕様ではないだろ。
ソースが仕様なら、バグなんてものはあり得ないよな。仕様通りで、正しいものなんだから。
260:login:Penguin
07/09/17 01:25:23 ifKoWn9t
いや、オープンソースってそういうものらしいぞ。
あれだけ偉そうな書き込みかましてるくらいだから、相当名のある
Linuxエンジニアなんだろ。
そいつらがいうんだから間違いないだろw
普通はサポートの返答の一番最初に仕様かバグかはっきりさせてくれるもんだよな。
はっきりしない場合は、丁寧なお詫びの言葉を述べてくるだろ。
俺はそういうものだと思ってたし、それを期待してるんだよ。
261:login:Penguin
07/09/17 07:55:20 s0twSYHE
ps -eLf とすると、スレッドのID (LWP) を画面表示できますが、これを取得するシステムコールって
あるんでしょうか? psは/procを読んでるだけ?
pthread_self()で取れるulong値とは別物です。
262:login:Penguin
07/09/17 09:24:18 G7dAmd5E
>>261
どうしてpsのソースを見るという発想がないのか。
センスないよ。プログラマやめたら?
263:login:Penguin
07/09/17 09:33:47 pdW5VZYg
トラぶったときやること。
1. ドキュメントみる
2. 本家が出してる情報を探す。Webページがあるなら、news/update, errata, FAQとか。
3. 本家のBTS, ML/Forumがあれば、そこを見る
4. Web検索
-------
5. strace/ltrace等で追ってみる
6. ソースみる
7. デバッガ使って深追い(発生している現象の解析、一般化)
BTSすら見ないひとも結構居るね。
ひたすら現象だけ追ったり(パケットキャプチャとかね)して、時間がもったいない。
おかしくなってるのがわかったら、BTSとかMLで、事例がないか調べてみればいいのに。
>>260
サポートが受けられる範囲で、大口ならそういうサポートが受けられるのかな?
構築とかまで全部任せてるとか。
264:login:Penguin
07/09/17 09:45:38 s0twSYHE
>>262
スレの流れ上そういうムードなのかもしれんが、煽るなよ。
ちょうどよい書き込みがあった(>>261)ばかりだが書くが、もちろんソースも見ている。
strace ps -L の結果から(下記)、/proc/pid/task/ のエントリ数を見て自分の抱えてるスレッド
のIDを得てることにほぼ間違いないと思いつつ、ソースを確認しているところなわけね。
open("/proc/18220/task", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
fstat64(6, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
fcntl64(6, F_SETFD, FD_CLOEXEC) = 0
getdents(6, /* 5 entries */, 1024) = 92
stat64("/proc/18220/task/18220", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/18220/task/18220/stat", O_RDONLY) = 7
ここで聞いたのは、思わぬ勘違いの可能性を少しでも減らすため。あと、psコマンドが非効率
なことやってる可能性もあるから、最新のシステムコールを知っている人間からの回答があっ
たら嬉しいな、とか。そのへん。
265:login:Penguin
07/09/17 09:48:15 s0twSYHE
眠いようだ。typo訂正。
正: ちょうどよい書き込みがあった(>>263)ばかりだから書くが
266:login:Penguin
07/09/17 13:41:16 2vZ6I9C9
>>263
Linuxサポートは、ぐぐったらこんなページがありましたけど
なんて普通に述べられたりして結構ビビるよね。
267:login:Penguin
07/09/17 16:13:28 s0twSYHE
>>266
それが自分のページだったりしたら笑えるな。調べ物をしていると、日本語での情報が自分のblogしか
ないってことがよくあるので。
268:login:Penguin
07/09/17 16:25:52 KQNRR09N
>>267
あるあるw
269:login:Penguin
07/09/17 18:23:28 IoEVGx7E
g++-4.1.2, libstdc++-4.1.2で、std::fostreamのインスタンスから、対応するfile descriptorを得るにはどうしたらよいでしょうか?
270:login:Penguin
07/09/17 18:52:45 warckn1B
>>267
それで金とれるんだから、オープンソースっておいしいよな。
271:login:Penguin
07/09/18 00:07:49 FePolVgo
ドライバに依存しないで
sk_buffにアクセスするにはどうすればいいの?
272:login:Penguin
07/09/18 10:09:49 CbMPhksH
/proc/kcore
273:login:Penguin
07/09/18 13:22:37 ApHFmsOy
root権限で動いてるんだけど、hogeというユーザからのsignalは受け付けたい
というときには何をすればいいんだっけ
274:login:Penguin
07/09/19 00:40:52 2QfTM7JO
raw socketから上がってくるデータに
タイムスタンプ付けたい場合ってLinuxの場合
どうするの
getなんちゃら禁止だとどうゆうことができそうなの?
275:login:Penguin
07/09/19 09:41:24 Xd50Xp8J
>>273
sudoでええやんか。
276:login:Penguin
07/09/19 19:43:52 zj6+rBh8
>>275
それじゃhogeというユーザじゃなくなっちゃうじゃん
277:login:Penguin
07/09/19 21:21:59 0ExJA0em
>>273
SELinux 使え
それ以外は無理
278:login:Penguin
07/09/19 22:22:40 d9OxuuhF
>>273 >>277
capabilities(7)のmanみれ
279:login:Penguin
07/09/19 23:04:15 zj6+rBh8
>>278
すばらしい。。お礼にあとでおいしそうなラーメン画像うpするわ。
280:login:Penguin
07/09/19 23:17:27 d9OxuuhF
>279
まぁ死ぬほど使いにくい仕組みだけどな。POSIXのケイパビリティは。
SELinux+SEEditも試しとけ。
281:login:Penguin
07/09/22 04:25:23 0+hWr/d7
futex使い方おせーて
282:login:Penguin
07/09/22 04:51:08 rfMprt9C
drepperタンのドキュソメントでも読んどけ。
283:login:Penguin
07/09/22 05:30:16 0+hWr/d7
どこにあるの?
284:login:Penguin
07/09/22 06:51:15 rfMprt9C
URLリンク(people.redhat.com)
285:login:Penguin
07/09/22 15:34:57 0+hWr/d7
おいkernel2.4でfutexつかえねーぞ
286:login:Penguin
07/09/22 15:43:22 t3vHBCq6
>>285
五月蝿いよ、スレ汚し
287:login:Penguin
07/09/22 15:44:56 rfMprt9C
>>279
お礼のラーメン画像まだ?
288:login:Penguin
07/09/22 16:53:44 F0YS4UKz
A,B,C というプログラムがいて、それぞれが好きなタイミングで
あるキューにデータを積む
それをDというプログラムが好きなタイミングで取り出して処理する
というプログラムを書きたいんだけど、この場合
キューにどんな仕掛けを使うのが一般的かな
289:login:Penguin
07/09/22 16:57:10 ZMcdaoSF
乱数?
290:288
07/09/22 17:01:08 F0YS4UKz
好きなタイミング ってのは任意のタイミングってことで。
メールスロット?みたいな機能を作ろうと思ってます。
291:login:Penguin
07/09/22 17:05:49 rfMprt9C
>290
mq_*();
URLリンク(www.opengroup.org)
292:login:Penguin
07/09/22 17:05:54 ZMcdaoSF
mmap?
293:288
07/09/22 17:35:59 F0YS4UKz
>>291
ありがとう!
メッセージキューって、多対1は出来ないと思い込んでたよ。
ちょっとこれで1時間くらい組んでみる。
294:login:Penguin
07/09/22 17:38:25 0+hWr/d7
>>293
速度おせーけどいいのか?
295:288
07/09/22 17:46:05 F0YS4UKz
>>294
やりとりが200ms以上遅延しなければ問題ないです。
あんまりにも遅ければキューのルーチンだけ
別の方法に切り替えるまでです。
296:login:Penguin
07/09/22 18:00:42 rfMprt9C
>294
遅いって、何とくらべて、どんな処理が、どの程度遅い?
@Linux 2.6 w/ futex
297:login:Penguin
07/09/22 19:23:22 SmO2oYOC
マチクタビレタ~
☆ チンチン〃 Λ_Λ / ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < おいしそうなラーメン画像マダー?
マチクタビレタ~ \_/⊂ ⊂_ ) \____
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| | マチクタビレタ~
298:login:Penguin
07/09/22 19:57:14 VDh1QMev
>>279じゃないけど、おいしそうなラーメン画像張っておきますね。
URLリンク(showa-diary.com)
299:login:Penguin
07/09/22 20:01:27 iMrKxTpi
かなしい気分になりました。
300:login:Penguin
07/09/23 01:25:08 tBRgGEFT
最近知ったシステムコールと関数:
pread(2), posix_fadvise(3), dirfd(3)
活用法を勉強中のシステムコール:
madvise(2)
以上、俺のチラシの裏として活用させてもらいました。
301:login:Penguin
07/09/23 04:05:45 R2J73xCx
>>299さんに拾い物を押し付ける
URLリンク(image.blog.livedoor.jp)
302:login:Penguin
07/09/23 14:29:30 2H3sPwph
メッセージキュー(mqueue)を使うプログラムを書いて、コンパイルして
リンクしたらmq_openとかが無いっつわれた。
これって、-lなんとかのライブラリを指定しないと駄目なの?
303:login:Penguin
07/09/23 14:43:48 tBRgGEFT
% for i in /lib/lib*.so /usr/lib/lib*.so ; do (nm -D $i | grep " T mq_open" 2>&1 > /dev/null) && echo $i ; done
/lib/librt-2.5.so
/usr/lib/librt.so
ということで -lrt したら?
304:login:Penguin
07/09/23 14:43:59 mx2b6ImT
マニュアル読め
305:login:Penguin
07/09/23 14:54:32 tBRgGEFT
>>304
mq_open(3)には記載がない悪寒
306:login:Penguin
07/09/23 14:56:54 tBRgGEFT
mq_overview(7)に書いてあるようだねぇ。知るかよw
307:login:Penguin
07/09/23 15:03:44 CJrcPuMq
>>306
知らない方が異常
308:login:Penguin
07/09/23 15:06:17 tBRgGEFT
すごーい。
309:login:Penguin
07/09/23 15:07:16 8ALjKCMy
gentoo のマニュアルには mq_* 全部に書いてあった
310:login:Penguin
07/09/23 15:15:42 tBRgGEFT
mq_のマニュアルってglibcの一部だよね?
gentooでは自前で製作しているということなのかな
311:login:Penguin
07/09/23 16:49:21 1fQtWZJX
Gentooは普通にLinux Programmer's Manualだけど、
2006-02-25だと書いてあるみたい。
312:302
07/09/23 17:30:26 2H3sPwph
>>303
ありがとう!
お礼にあとでおいしそうなカツ丼の画像をうpするよ
>>306
それ見てたんだけど見逃してたよ。俺の目は節穴だった。ごめん。
313:login:Penguin
07/09/23 17:33:10 tBRgGEFT
ラーメンは来なかったら、今度は期待してるぜ。
314:login:Penguin
07/09/24 00:52:36 kgZ5pKnk
>>313
URLリンク(peach-daioh.cool.ne.jp)
URLリンク(peach-daioh.cool.ne.jp)
ちょっと大きめだけど
315:login:Penguin
07/09/24 01:08:05 ytCajFbL
グロ画像にしか見えません。そもそもLinuxプログラミングと関係あるのか
316:login:Penguin
07/09/24 03:02:18 vibgjhrs
>>315
ky
317:login:Penguin
07/09/24 04:24:37 d3+l1tl9
>>315
キャインキャイン!
318:login:Penguin
07/09/24 10:39:15 hY1Zpi5v
>>316
なにがkyだ。それは手前の方だろ
319:login:Penguin
07/09/24 11:40:48 oWdnqGOu
kyってなに?
最近略語が増えてついていくのが大変
320:login:Penguin
07/09/24 11:53:42 wKP5qWj5
Kuuki Yome
321:login:Penguin
07/09/24 11:57:56 K+J+mAAI
空気嫁
322:login:Penguin
07/09/24 12:00:15 oWdnqGOu
>>320-321
ありがとう。これで空気読めるようになったよ。
323:login:Penguin
07/09/24 14:40:26 d3+l1tl9
読めてません。
324:login:Penguin
07/09/24 16:44:27 /TENigCK
ある特定のライブラリ(libXXX.a)の中でメモリリークが発生していることがわかっているので、
そのライブラリだけBoehm GCのmallocに差し替えたいんですが、そういうことってできまし
たっけ?
325:login:Penguin
07/09/24 16:49:02 /TENigCK
>>296もよろしく。>>294
326:login:Penguin
07/09/25 00:42:58 tOnrroA3
>>324
malloc フックでぐぐれ
327:login:Penguin
07/09/25 01:14:39 DweR4QXy
>>324
libをデバッグシンボル込で作成して
valgrindで調べた方がよくねーか?
そうしたら動作シーケンス解かるから
あとは単体で実行してデバッグすれば
よくね?
そうゆう解決方法は根本的な対処にならないから
やめれ。リークしてるものは修正しろ
328:login:Penguin
07/09/25 23:16:01 DweR4QXy
>>324
同級生に1人はいた、借りたものを返さないやつだな。
借金沢山ありそうw
329:login:Penguin
07/09/26 00:06:34 YpckYtbt
>>324
mallocってシステムコールじゃないっしょ。リコンパイルなしでは無理っしょ
330:login:Penguin
07/09/26 01:26:15 yQRyKR94
LD_PRLOAD子欄の?
331:login:Penguin
07/09/26 21:16:50 v+gFFOHB
>>327
LinuxはWindowsと違って多少リークしてても普通に動くよ。
実際、安定しているといわれてるアプリでもリークしてるものが多い。
例えばFirefoxとかGimpとかね。
コマンドの中には最初から解放しない戦略をとってるものもあるし、
多少のリークは修正する必要がない。
実際、有名なアプリでも修正しない戦略をとってるものがあるしね。
ほら吹きOSじゃないんだから、メモリーなんていちいち気にする必要ないんだよ。
332:login:Penguin
07/09/26 21:30:49 M/+a2TgQ
また変な釣りが湧いて出たか
333:login:Penguin
07/09/26 22:28:15 FU3404FR
バイオワーム未満のまずい餌を
みてひさびさに閉口したw
334:login:Penguin
07/09/26 22:32:32 P0NX8bPM
,-´ ~¨"''''‐- .,
|` ー- ...,,,___.)
|\丶}} !{ |i i|
|`ィ,,ヽ {j }、l|
ヘミノ /^\ヽ_/^!:|i
l_ノ V u _ノ 、リ
人 > ( ●)(●) 何を言っているのか わからねーと思うが
/ハノゝ u (__人__) おれも何を言っているのかわからなかった…
V" ` ⌒´ノ
. | } 常識的に考えて・・・
. ヽ u }
ヽ ノ \
/ く \ \
| \ \ \
| |ヽ、二⌒)、 \
335:login:Penguin
07/09/26 23:22:54 v+gFFOHB
>>333
バイオワームがまずいんじゃなくて
お前の料理がまずいんだ
素材のせいにスンナボケ
336:login:Penguin
07/09/27 01:01:03 gsAwBD+f
>>330
へー Linux の静的ライブラリは環境変数 LD_PRLOAD で置き換えできるのか~
教えてくれてありがとう。
337:login:Penguin
07/09/27 02:34:38 VzBoMjAX
>>336
L D _ P R L O A D 子 欄 の ?
Hint:.a
Hint:PRLOAD
338:login:Penguin
07/09/27 08:49:58 hzAH420J
>>336
static linkされたものを置換できるとは誰も言ってない。
勝手に拡大解釈するな。Linkder&Loadersとか、適当な本で勉強汁。
あと、LD_PRELOADな。Eが抜けてる。
339:login:Penguin
07/09/27 08:50:59 hzAH420J
Linkder&Loaders
じゃなく
Linkers&Loaders
ごめん。
340:login:Penguin
07/09/27 11:29:56 x6U3NKaN
あ る 特 定 の ラ イ ブ ラ リ ( l i b X X X . a ) の 中 で
341:login:Penguin
07/09/27 13:50:54 iv68VIR1
適 当 な 本 で 勉 強 汁 。
342:login:Penguin
07/09/28 00:09:07 MDX80Mu5
mallocってシステムコールかいな
343:login:Penguin
07/09/28 02:07:37 wLKx4a83
>>324
そのライブラリだけってのが気になるがLD_PRELOADで差し替えできるようだね。
前提や条件を受け入れられるかは知らないが。
URLリンク(www.hpl.hp.com)
関係ないけどleak.htmlの最後にさらっと粋なことが書いてあるwww
344:login:Penguin
07/09/29 03:19:25 Ao0+HlwR
openipmiの日本語プログラミング
マないかな?
345:login:Penguin
07/09/29 23:45:42 KUrKiugz
iptables を使用してトランスペアレントプロキシを作成しようとしています。
ポート10000に届くすべてのあて先IPアドレスを自身宛に書き換えて受け取っています。
その状態で getsockopt()に SO_ORIGINAL_DSTを与えると本来のあて先アドレスがわかるということで試していますが上手くいきません。
ENOPROTOOPT : 指定された層(level)にはこのオプションは存在しない
というエラーが返されます。
どのように解決すれば良いかわからず投稿させていただきました。
アドバイスがございましたらよろしくお願いします。
環境
fedoracore6 2.6.18-1.2798.fc6xen
gcc 4.1.1
-----------------------------一部抜粋-----------------------------------
int sock;
socklen_t len;
struct sockaddr_in addr0,orig_dst;
addr0.sin_family = AF_INET;
addr0.sin_port = htons(10000);
addr0.sin_addr.s_addr = htonl(INADDR_ANY);
sock = socket(AF_INET,SOCK_DGRAM,0);
bind(sock,(struct sockaddr *)&addr0,(socklen_t)sizeof(addr0));
len = (socklen_t)sizeof(orig_dst);
if(getsockopt(sock,SOL_IP,SO_ORIGINAL_DST,(struct sockaddr *)&orig_dst,(socklen_t *)&len)){
perror("getsockopt");
}
-------------------------------------------------------------------------
346:login:Penguin
07/09/30 00:11:06 JTctf1Ko
>>345
いくらくれる?
347:login:Penguin
07/09/30 09:27:43 mXOCWJ6v
>>346
アホか。
348:login:Penguin
07/09/30 18:32:05 cTP/1hI9
つ ⑩ ホラ、ダイジニツカウンダゾ
349:login:Penguin
07/10/01 00:56:00 kZSHZlgP
(´,∀`)ゴチソウサマ
>>345
SOCK_DGRAMじゃなくてSOCK_STREAMだとどうなんだろう?
350:login:Penguin
07/10/01 14:29:09 WPD1ZzVS
>>349
それかもしれませんね。
試す環境が無くなってしまったので出来ませんが・・・
connectされたソケットじゃないと取れないとか?
どうやって取ってるかわからないから何ともいえないけど・・・。
ありがごうございました。
良回答 10pt
351:login:Penguin
07/10/02 17:43:12 pFIeRD5Z
>>345
この質問はnetfilter-develにたまーに来る(1年に1回位)。
で、回答は SO_ORIGINAL_DST がサポートされているのはIPv4のTCPのみ。
どーしてもっていうことなら、もはやcacheにしか残ってないこのパッチを参考にするこった。
URLリンク(web.archive.org)
このパッチ相当の機能は、2007年現在まだマージされてないはず。
352:login:Penguin
07/10/02 23:15:16 TateldD6
あのーオドオドオド
あのーー2socket QuadCore Xeon
SNMPカーネル環境下でgettimeofday()すると
時間がびみょうにずれて困るのですが
どうすればいいのですか?
353:login:Penguin
07/10/02 23:17:15 OCvX4Zeq
>>352
kernelのバージョンとarchは?
354:login:Penguin
07/10/02 23:37:43 TateldD6
kernlは2.4.24と2.6.20です
debianで動けばOKです
355:login:Penguin
07/10/02 23:40:33 OCvX4Zeq
>>354
ずれるというのは時間が戻るということ?
最新のカーネルを使ってみれば?
古いので動かしたかったら、debianのBTSに突っ込んでみたら?
356:login:Penguin
07/10/02 23:46:34 TateldD6
>>355
そうですねー。
こうゆうのって自分で実装するのは難しいのでしょうかね?
357:login:Penguin
07/10/02 23:57:38 OCvX4Zeq
>>356
CPU1個にすればいいじゃね?
358:login:Penguin
07/10/03 08:55:17 mGA09CPb
>>352
そういう現象は聞いたことがない。貴方のコードに問題があるかもしれない。
どういうプログラムなのか、コードと実行結果を貼るなりしないと何とも言えないな。
359:login:Penguin
07/10/04 00:38:47 BHffRC4x
同一の名前で、ちょっとバージョンの違う
/usr/lib/xxx.soと/opt/dev/xxx.so
があるとして、絶対/usr/lib/xxx.soを使わずに
/opt/dev/xxx.soを使うようにコンパイルすること
ってできるでしょうか。
libcとか今組込み用に作ってるのですがどうにも
/usr/libのほうよみにいっているようで....
360:login:Penguin
07/10/04 00:40:34 0WRnyS6M
>>359
LD_LIBRARTY_PATHだっけか。
361:login:Penguin
07/10/04 00:45:16 BHffRC4x
>>360
それでいけますよね?
前任者がDQNみたいで
#define printf xxx_printf
とかずらーっと定義して
/dev/xxx..soを必ず使うように
#defineするとか意味不明な
ことしてて困惑しています。
ビルドも独自の.sファイル用意して
アドレスに直にバインドするとか
意味不明なことをしています
362:login:Penguin
07/10/04 00:57:37 hH9ei5GL
>>359
リンク時にバイナリにライブラリ検索パスを埋め込むために、
ld 実行時にLD_RUN_PATH を設定するか、-rpath オプションを
付けてリンクする。
LD_LIBRARY_PATHは、バイナリビルド環境と実行環境の差を
埋める時のみに使うべきかと思う。
363:login:Penguin
07/10/04 01:15:11 BHffRC4x
>>362
わたしもそう思うのですが
でもなんで
#define printf xxx_printf
なんてしたんだろう。
コード汚くなって意味ないと思うんだけどな...
こんなことする馬鹿他に見たことあるって
人いますか?明日そいつを血祭りにあげようと
思ってます。
364:login:Penguin
07/10/04 02:03:36 PKHRa3Ub
おまえさんよりは前任者の方が詳しい鴨よ。
もちっとkwsk書いてみたら?
365:login:Penguin
07/10/04 03:55:40 Lja62WFk
>>351
おそくなりましたがありがとうorz
366:login:Penguin
07/10/04 03:57:32 2YWUx8wh
まず理由を聞くべきだろ?
367:login:Penguin
07/10/04 10:22:53 SX6Gg+w/
組み込み用ならそれなりの理由があるのかもしれないような。
368:login:Penguin
07/10/04 21:48:51 BHffRC4x
理由を聞いたが-rpathを知らないから
そうやったって自供しました。
もう直後にイラっときたので
廃材詰めるダンボールにブン殴って
のしてつめてやりました。
半日ぐらいノビてたなw
369:login:Penguin
07/10/04 22:21:52 NmqYv4MX
暴力はいけません
370:login:Penguin
07/10/04 23:57:03 kujiByn/
組み込みでLinuxなのにlibc自作って何か新鮮
371:login:Penguin
07/10/05 00:54:03 RuBV1DrC
Upstreamに流すつもりのFIXコードを書いてテストしておkぽかったんだが、
なんかしらないがそのままゲームにはまってしまって疲れて寝た。
次の日、他の人がパッチをコミットしていた時の悔しさ。
372:login:Penguin
07/10/06 02:25:21 jz11x7Hd
汎用DMAドライバってどっかに
ないかなぁ
CPU使わないでデータコピーしたい
373:login:Penguin
07/10/09 23:39:51 D7LghPSZ
カーネル2.4にvsyscallのgettimeofdayを
移植したいんだけど
いい情報ないかな?最悪ドライバモジュールで
実装でもいい
374:login:Penguin
07/10/10 23:40:45 MaiKO5Xh
Linuxで作成したファイルをWindowsに移すにはどうしたらいいんですか?
375:login:Penguin
07/10/10 23:58:52 wcdf1KNh
ftp
376:login:Penguin
07/10/11 00:10:18 IhTCaNfQ
od -x filename | lessしたあと
windows側で1バイトずつ
手打ちすればいいよ
377:login:Penguin
07/10/11 00:14:30 0rD2It5e
>>376
メモ帳でやってみました。
なんかファイルサイズが16倍になったんですが、ホントにこれ使えるんでしょうか・・・。
378:login:Penguin
07/10/11 01:03:35 XbMVm2Iq
>>376
おにー
379:login:Penguin
07/10/11 01:29:29 nRNlKb1D
>>377
なんで16倍?
380:login:Penguin
07/10/11 03:52:22 yX6O/zNE
tcpdumpみたいなものをカーネルモジュールで書いているんですが、
tcpやudpのデータ部分を取得するにはどうやったらいいのでしょうか。
sk_buff->nh.iph->protocol
でプロトコルの種類はわかるのですが、実際のデータ部の取得方法が
いまいちわからなくて・・・。
どなたかわかる方よろしくお願いいたします。
381:login:Penguin
07/10/11 16:06:54 q6R8bHpk
>>377 Bz使えよ
382:login:Penguin
07/10/13 21:50:16 Zr5sYmS5
URLリンク(kernelbook.sourceforge.net)
383:login:Penguin
07/10/15 21:09:43 LCPtRnTv
カーネルソースはあるのにヘッダーsがないばやいで
ソースからヘッダーってできないですか
っていうかソースがあればヘッダーはいらないと思ってた!
なんでなん?
384:login:Penguin
07/10/15 23:41:51 XG6Zr9VJ
>>383
インクルードするところを
/usr/includeとかになってるところを
/usr/src/linux/includeとかにするところでいいんじゃね?
-Iとかで指定するところだと思うよ
385:login:Penguin
07/11/01 21:34:43 OFz7RgOT
ipmiのライブラリってどれもつかえねーな
全然関係ないけど、montavistaの連中のコードってきもくね?
CもC++もどれもまともにかけない糞が多すぎる。
それについてこっちは金払ってるのに問い合わせすると
仕様ですwだってさ
あそこのエンジニアはSCOよりひどい
386:句読点打てないバカをサマージャンボする俺 ◆1xdL.Dyf.I
07/11/03 11:25:48 4iXGn396
>>385
387:login:Penguin
07/11/09 14:05:06 Aq/ZR00i
メモリの使い方について質問。
システムメモリ領域は負のアドレスというのを読んだのですが、
連続した次の領域を読む場合、正負どちらの方向に進めばいいのでしょうか?
例えば-521568100の次の領域は、-521568099?それとも-521568101?
388:login:Penguin
07/11/09 14:45:29 muGJS6N4
-3 -2 -1 0 1 2 3
- +
389:387
07/11/09 15:12:03 Aq/ZR00i
>>388
なるほど~。
ありがとうございました。
390:login:Penguin
07/11/10 01:16:39 tSMAg/81
LD_PRELOADで関数フックしたあと、もとの関数呼ぶ方法ってありますか?
void hoge()
{
hoge(); // <- もとのhoge関数を呼び出したい
}
391:login:Penguin
07/11/10 02:58:50 RN+zA3HO
>>390
dlopen, dlsym
392:login:Penguin
07/11/11 12:34:41 jhqVcqNv
mono develop使ってるヤシいる?
393:login:Penguin
07/11/11 19:49:41 n7+Lb81h
>>390
dlsymとRTLD_NEXTでググればわかるとおもうよ。
>>391
dlopenは不要
394:login:Penguin
07/11/12 03:27:53 V6ygCzcx
今linux security module(lsm)の勉強のために、
root_plug.cを改造して試行錯誤してるんですけど、
これって改造する度に、
毎回全てのソースをコンパイルをしなければいけないんでしょうか?
395:login:Penguin
07/11/12 03:29:28 5hFKzEaG
makeでやれば関係ないソースは以前作ったオブジェクトそのまま使ってくれるだろ
396:login:Penguin
07/11/12 03:34:17 V6ygCzcx
>>395
確かにそうなんですけど、
なんとなく気持ち悪くて、
毎回新しくオブジェクトを作りなおしてました。
でもそうしなくても問題ないということですね。
ありがとうございました。
397:login:Penguin
07/11/12 04:11:37 CZeG29nh
,`,(+Φy〆),`,
‘オソロシキ ゲンゴダナ…
398:login:Penguin
07/11/12 05:40:50 PgGOtZpU
>>391
>>393
dlsym( RTLD_NEXT , "function" )
でできました。
ありがとうございます
399:login:Penguin
07/11/14 03:20:29 LtZiY/oO
Linux上でWindowsのネイティブバイナリは吐けますか?
400:login:Penguin
07/11/14 03:26:37 d8LODZS2
>>399
cat explorer.exe > new_explorer.exe
401:login:Penguin
07/11/14 08:14:07 1nX1kzlD
mingwのクロスコンパイラが使えるよ。Debianならapt-get install mingw32で。
402:login:Penguin
07/11/19 09:16:47 y8uScUHY
ありがとうございます
403:login:Penguin
07/11/27 09:45:49 A2SYKSWK
xxgdbでpopen()をトレースすると
[New Cannot find thread 2049: invalid thread handle
と表示されて止まってしまうのだがこれって仕様?
404:login:Penguin
07/11/28 00:05:12 7Ks9DXGS
>>403
仕様
405:403
07/11/29 00:55:49 jIID4fY+
>>404
レスありがとう。
system()かexecl()系使うしかないのかしら・・・
406:login:Penguin
07/12/03 03:31:14 ACH4D/bz
opendir(3)の実装はどこにあるんでしょうか?
glibcのdirent/opendir.cを見ると
DIR*
__opendir (const char *name)
{
__set_errno (ENOSYS);
return NULL;
}
などと書いてあって行き詰ってしまいました。
407:login:Penguin
07/12/03 04:25:46 hZn7k5Pb
>>406
OSはLinuxだよね?
408:login:Penguin
07/12/03 04:29:01 hZn7k5Pb
glibc-2.x.x/sysdeps/unix/opendir.c だと思われる。
409:406
07/12/03 12:14:14 tGDLCTrZ
>>408 ありがとうございます。
410:login:Penguin
07/12/08 00:56:20 Ypv55KO5
syslogのバッファの中身を設定ファイルでは
なく、作成したプログラムで行いたいのですが
どうすればよいの?
411:login:Penguin
07/12/08 01:09:58 3wxXE3Np
emacs code browserをつかいこなしてる人いませんか?
python2.4とpython2.5が両方はいってる環境で
boost.pythonでc++と連携させると実行時に
「なにかがない」
というエラーが頻発しないですか?
412:login:Penguin
07/12/08 02:36:59 AOgHL0gM
>>410
syslog(2)かsyslog(3)のどっちだよ。
それより何がしたいの?
413:login:Penguin
07/12/08 08:36:18 Ypv55KO5
>>412
syslogを監視したいと考えています。
swatchみたいな仕組みを作りたいなぁと
414:login:Penguin
07/12/09 19:30:32 kFipn9r2
Linuxで組込み機器の開発をしています。CPUはMIPS及びx86で、カーネルは2.6、swap領域は用意していません。
RAMは128MBです。下記状況で悩んでいます。
あるプロセスが大きめ(数十MB)のファイルを、読み込み専用(PROT_READのみ)でmmapし、その後そのファイル
を一通り読み込み、理由は不明なのですが、その後munmapせずに長期間mmapしたままにしています。
この状態でもし物理メモリ(free page)が足りなくなってきたら、ファイルのreadonly mmapに使用されていた
物理メモリは他の用途に使うために回収されるでしょうか?
カーネルの当該処理を行なう関数名だけでもかまいませんので、おしえてください。
415:login:Penguin
07/12/09 20:31:30 7Og5UxvH
>>414
Linuxの仕組みにこだわらず常識の範囲で答えるなら
swapがもし設定されておらず、メモリの確保を行ったプロセスが生きており、かつ新しいプログラムがメモリを要求し
メモリが足りないばあいは、そのようなエラーが出て後のプログラムが終了する。
確保エラーてきなそれで。
416:414
07/12/09 20:49:28 kFipn9r2
>>415 申し訳ありませんがLinuxの事情が知りたいです。
URLリンク(tree.celinuxforum.org)
こちらの資料のp.22「ページアウト」によると、
>(2)で物理メモリの空きがなかった場合、使用頻度の低いと思われるページを解放する。そのページの内容が変更されていなければそのまま破棄。
>変更されていればスワップデバイスに掃きだす。
とのことでした。
今回の場合、swapは存在しませんがページの内容もまた変更されていないので、
>この状態でもし物理メモリ(free page)が足りなくなってきたら、ファイルのreadonly mmapに使用されていた
>物理メモリは他の用途に使うために回収されるでしょうか?
この答えはyesになるかと思うのですがどうでしょうか。
ページアウトを行なっている関数を特定して調べてみますが、識者の方がいらっしゃいましたら教えてください。
417:login:Penguin
07/12/09 20:51:41 vfNigUJQ
DirtyにならなきゃSWAPは関係ないんじゃないか?
PRIVATEマップだったら予約はされるのかねえ?
試せ。
418:417
07/12/09 20:53:20 vfNigUJQ
>>416
読む前に書きました。Linuxの識者ではありません。
419:login:Penguin
07/12/09 21:56:02 7Og5UxvH
こ、これが本当なら、使用頻度の低いプロセスの確保しているページが勝手に破棄されるってこと?
なにやら「書き換えられているなら」の和訳に難ありと見た。
420:login:Penguin
07/12/09 21:59:02 kFipn9r2
>419
破棄されても、必要になり次第またディスクから読めばいいから、問題なくね?
ディスク上のファイルが書き換えられていたらちょっと困るかも試練が。。。
421:login:Penguin
07/12/09 22:13:07 7Og5UxvH
>>420
ディスク上にあるデータばかりとは限らなくね?
そのへんをどうしているのか...
422:login:Penguin
07/12/09 22:20:43 18jA1TtH
ファイルだったら、どこにあろうと開いてるからカーネルの管理下じゃね
423:login:Penguin
07/12/09 22:49:39 7Og5UxvH
なるほど、カーネルが管理しているページから破棄していくのか。
でもそうだとすると、この議題である「事前に確保されたページ」がカーネルの管理とは言い難いと思うのだが。
424:login:Penguin
07/12/09 23:08:38 18jA1TtH
>>423は何言ってるのか分からんから放っておいて、
>>416は資料に書いてある通りだと思うんだけどね。mmap()のシステムコール先が
どんなマークつけてメモリ確保するか、もうカーネルのソース見たほうが早くね?
425:login:Penguin
07/12/09 23:15:12 kFipn9r2
>>424
了解。そうします。
426:login:Penguin
07/12/13 21:59:11 q3gVVh+0
ローカルの時間を設定する
関数ってなんて名前なの?
427:login:Penguin
07/12/13 23:42:09 gQtBTxyv
settimeofday(2)
428:login:Penguin
07/12/13 23:57:28 GAau1spk
>ローカルの時間を設定する
>関数ってなんて名前なの?
いきなり時刻を変更していいなら、settimeofday(2)か、stime(2)。後者は秒単位でしか設定できない。
徐々に時計をあわせたいなら、adjtime(3)かadjtimex(2)。たぶん。よく知らなかったのでntpdateコマ
ンドをstraceして調べた範囲だが。
あと、ハードウェアが覚えている時刻を更新したいんだったら、/sbin/clock -w するか、/dev/rtcを
open(2)してioctl(RTC_SET_TIME)も必要。これもclockコマンドをstraceしただけだけど。
429:login:Penguin
07/12/14 00:06:11 q3gVVh+0
皆さんどうもです。
もう1つ聞きたいのですが
libe1000に近い機能って
最近のカーネルにないでしょうかね?
tigon3で使えないので泣き入ってますw
430:login:Penguin
07/12/14 09:58:59 kNHZHPst
もしかしてこっちのことだったりして
# cp /usr/share/zoneinfo/場所 /etc/localtime
あるいは環境変数 TZ
431:login:Penguin
07/12/15 02:47:51 W22BenPt
それを言うならasia/Sapporoを作ってDSTを有効にする方法じゃね?
432:login:Penguin
07/12/15 18:22:56 Rwz9MLlG
カーネルモジュールのメモリリークチェックどうやってる?
slab使ってれば、destroy()でチェックになるようだが、
ページ単位だと手がないよね
433:login:Penguin
07/12/15 23:53:57 Sm85/PPc
>>432
カーネルは信じる
434:login:Penguin
07/12/17 01:19:38 xnChskak
自分でカーネルモジュール書く場合とか。
435:login:Penguin
07/12/17 22:53:20 YaVSPejA
自分を信じる
436:login:Penguin
07/12/17 23:48:58 QaEFKCXk
/proc/meminfoをreadすると
遅くていらいらするので
実態を直接参照したいのですが
何を呼び出せば得られますか?
437:login:Penguin
07/12/18 00:47:54 wJyWvjqc
/usr/bin/freeも/proc/meminfoをopenしてreadしているようだ。
ちょっと思いつかない。
438:login:Penguin
07/12/18 01:04:48 E/zgaCho
もう1つ別の話になりますが
プロセスA,B,Cがあったときに
起動順序に依存関係があった場合や
不意の終了が起きたときの再起動等の
管理を含めた
プロセスの監視、管理ってみなさんどうしてますか?
439:login:Penguin
07/12/18 01:20:16 v3HQV+pu
>>436
昔はps(8)にしてもvmstat(8)にしても、その手の奴は nlist(3)を使って/dev/kmem を
スキャンしてカーネルの変数を直接読んだんだけど、それをするためのプログラムは
setuid rootが必要だった。
今でもできると思うけど、別にそんな速くなるかというと、微妙だと思うなぁ。大体なんで
そんなものをreadするのに速度が必要なのか。
今はカーネルのさまざまな変数をsysctl(2)や/procファイルシステムで見るように
なっているから、そっちが一般的だと思うが。
440:login:Penguin
07/12/18 01:24:13 v3HQV+pu
>>438
ここはプログラミングスレだから、そういうツールを紹介してほしい、じゃなくて、
そういうものを書きたい、という事だよね?
UNIXのプロセス管理、特にwaitシステムコールの仲間と、SIGCHLD周辺をよく
勉強するといいと思うよ。
441:login:Penguin
07/12/18 02:52:41 wJyWvjqc
>>439
OSは何ですか?Linuxだとnlistという関数はないっぽい
elfutilsの付属品で/usr/include/nlist.hというのがあるけどOSの情報をとるものではないようで。
442:login:Penguin
07/12/18 23:54:49 E/zgaCho
なぜPacket socketってRxのみなのですか?
Txにも対応して欲しいのですが
誰かなんとかなりそうってヒントくれませんか?
443:login:Penguin
07/12/19 09:05:58 3xyl6Kve
>>442
対応してるよ
444:login:Penguin
07/12/19 23:34:24 VN4RCfEY
>>443
そっちじゃなくてpacket_mmapだた
これは無理ですよね
無理ならstruct net_deviceを直接参照する
ようなコードをモジュールレベルで書きたいのですが
難しいですよね~
445:login:Penguin
07/12/20 00:47:26 7G9805T8
eth0からeth7までをNIC1台の鯖に積んでるのですが
例えばeth0からeth4にパケットを転送するときって
send()するしかないですよね?
しかし5.6GBpsのコピーだとはんぱーねほど
負荷かかって困るw
たまにーマシンごとお亡くなりになってしまうし
446:login:Penguin
07/12/20 01:00:32 yx641/2O
チップセットがIntel以外とか、BIOSをageてないとかでないの
447:login:Penguin
07/12/20 01:12:56 gjGGDzJy
LinuxカーネルではRCUというデータ構造?が使われていると聞いたのですが、どんなものか
概要を知るにはどこが便利でしょうか?
448:login:Penguin
07/12/20 01:18:52 KxE4A1DD
>>445
いまいち状況がわかんないけど、sendfile(2)でもいいんじゃない。
449:login:Penguin
07/12/20 01:29:14 7G9805T8
>>448
in socket
out sokcet
これは無理ですよ。manページまともに読んでくれ
450:login:Penguin
07/12/20 01:29:48 KxE4A1DD
>>447
ん?これのことか?
URLリンク(git.kernel.org)
451:login:Penguin
07/12/21 01:40:37 A4fo/FEb
URLリンク(www.scaramanga.co.uk)
こいつを改造して、送信側もmmap-packetしたいのですが
スレ違いですかね?
mmapでバッファ取得しているからそのまま、フレームの
アドレスをsendfile()で送ればいい?
452:login:Penguin
07/12/26 23:54:48 S8Qi2r6E
ここで訊くのが合っているか判らないけど質問
デスクトップをクリックした、というイベント取得したいんだけどどうやるんだ?
453:login:Penguin
07/12/27 01:17:57 n3z1YHrf
何を言ってるのかイマイチわからんかったので、とりあえず
「XCheckMaskEventでXButtonPressMask」
と答えておく。
454:login:Penguin
07/12/27 01:21:58 W7wVcUmw
ポルナレフ同士かよ
455:login:Penguin
07/12/29 01:41:34 6hJfAH2B
CPU使用率(百分率で0~100)はどこで取得できますか?
456:login:Penguin
07/12/29 02:13:14 JWUAvm2Q
/usr/lib/python2.5/site-packages/screenlets/sensors.py
を覗くと、下記のようになっている。あとは、そのまま使うなり、自分で作り直すなりどうぞ。
# calculate cpu-usage by values from /proc/stat
# (written by Bernd Wurst)
def get_cpu_load (old_cuse = [0]):
# Let's try if we can calc system load.
try:
f = open("/proc/stat", "r")
tmp = f.readlines(200)
f.close()
except:
print "Failed to open /proc/stat"
sys.exit(1)
# 200 bytes should be enough because the information we
# need ist typically stored in the first line. Info about individual
# processors (not yet supported) is in the second (, ...?) line
for line in tmp:
if line[0:4] == "cpu ":
reg = re.compile('[0-9]+')
load_values = reg.findall(line)
# extract values from /proc/stat
cuse = int(load_values[0])
csys = int(load_values[2])
load = cuse + csys - old_cuse[0]
#load = int(load / self.update_interval)
old_cuse[0] = cuse + csys
return load