- 1 名前:970 [2006/05/18(木) 18:56:16 ]
- UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド
前スレ Part7 pc8.2ch.net/test/read.cgi/tech/1127373405/ Part6 pc8.2ch.net/test/read.cgi/tech/1116908090/ Part5 pc8.2ch.net/test/read.cgi/tech/1105723117/ Part4 pc5.2ch.net/test/read.cgi/tech/1095843584/ Part3 pc5.2ch.net/test/read.cgi/tech/1085930894/ Part2 pc5.2ch.net/test/read.cgi/tech/1055110889/ Part1 pc2.2ch.net/tech/kako/992/992057422.html Part3のミラー makimo.to/2ch/pc5_tech/1085/1085930894.html Part2のミラー makimo.to/2ch/pc5_tech/1055/1055110889.html
- 116 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 11:53:51 ]
- 教えて下さい!
finde ./ の結果が AAA AAA/BBB AAA/BBB/hoge1.txt AAA/BBB/hoge2.txt AAA/BBB/hoge3.txt AAA/BBB/CCC/hoge4.txt AAA/BBB/CCC/DDD AAA/BBB/CCC/DDD/EEE AAA/BBB/FFF/GGG/hoge5.txt AAA/BBB/FFF/GGG/hoge6.txt AAA/BBB/FFF/GGG/HHH AAA/BBB/FFF/III/hoge7.txt AAA/BBB/FFF/III/JJJ AAA/BBB/FFF/III/JJJ/KKK AAA/BBB/FFF/III/JJJ/KKK/LLL AAA/BBB/FFF/III/JJJ/KKK/LLL/MMM となっていて、ツリーにファイルを持たないフォルダのみを 抜き出したいです。
- 117 名前:デフォルトの名無しさん [2006/06/17(土) 11:55:38 ]
- ↓こんな感じです。
AAA/BBB/CCC/DDD AAA/BBB/CCC/DDD/EEE AAA/BBB/FFF/GGG/HHH AAA/BBB/FFF/III/JJJ AAA/BBB/FFF/III/JJJ/KKK AAA/BBB/FFF/III/JJJ/KKK/LLL AAA/BBB/FFF/III/JJJ/KKK/LLL/MMM 先輩は、find . -type d -emptyと言い残して旅に出ましたが 動きませんでした… OSはこれです。シェルがどうこうはよくわかりません。。。 SunOS devcvs01 5.9 Generic_118558-05 sun4u sparc SUNW,UltraAX-i2
- 118 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 12:38:14 ]
- 動くよ。
それに、それプログラミングじゃないだろ。 それから、その結果欲しければ、find AAA (ryだろ。
- 119 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 12:50:31 ]
- シェルプログラミングスレどっかにあったな。UNIX板か?
実はSolarisのfindには-emptyオプションがないとか? GNUとMac(BSD)にはあった。
- 120 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 13:25:45 ]
- そのとーりSolarisには-emptyないよ
>>118 ぷw
- 121 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 13:41:01 ]
- いかなる環境でも安定して動作し、
複数の計算機、複数の別プロセスから同時にアクセスされても安全が保障され、 複数プロセス間で、ロックを試みた順番で確実にロック権が回ってくる そんな「完璧な」ファイルロックというのは可能でしょうか? それとも、日本語の文字コードを完全には自動識別できないのと同じように、 ファイルのロックにも「完全」というのは存在しないのでしょうか? ヒントやキーワードだけでいいから教えて下さい
- 122 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 14:05:27 ]
- >>121
ヒント: スレ違い
- 123 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 16:49:41 ]
- >>116
空のディレクトリを抜き出したい理由は? カレント配下の空のディレクトリを消したいだけなら find . -depth -type d -exec rmdir {} \; でできるけど。 #-depthを指定しないと、例えばDDDを消そうとして失敗してからEEEを消すことになる。
- 124 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 17:02:27 ]
- AAA/BBB/CCC/DDD/EEE
がファイルなのかディレクトリなのか区別出来ないけど
- 125 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 05:41:18 ]
- pthread使用していてgdbでデバッグしてるとepoll_waitが割り込みで何度も止まってるのよ
何のシグナル受け取ってるのか判別する方法ないかな
- 126 名前:ゆーき [2006/06/26(月) 00:07:54 ]
- ハイパー初心者ですが、octaveでsubplotをファイルに保存したいのですが、print -depsや
gset term postscript enhancedではできません。。。 だれかやりかたを教えて下さい。お願いします。
- 127 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 00:18:58 ]
- >>125
OSを書け
- 128 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 03:54:31 ]
- epoll_waitと書いている以上、Linuxだろ?
straceで追っかけてみるのはどーだろ?
- 129 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 12:59:50 ]
- LinuxならSIGALRMじゃないの?
$(GLIBC)/nptl/*eintr*辺り読んでみて。
- 130 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 03:23:01 ]
- >>121
ありとあらゆる環境上でなんて事実上不可能 > 複数プロセス間で、ロックを試みた順番で確実にロック権が回ってくる 「ロックを試みた順番」という単語一つとっても - ロックマネージャーに届いた順番? - ロックにあたるFunctionを呼び出したとき? など曖昧かと.. PostgreSQLなどのDBMSのソースとかがヒントになるかもしれない。
- 131 名前:デフォルトの名無しさん [2006/06/30(金) 14:01:44 ]
- Linuxの一般のユーザーwatashiとtaninがいて、
watashiがtaninさんの/home/tanin/workのオーナーになりたいので、 こんなプログラムを作って、 int main() { int uid = 509;// watashiのuid int gid = 100;// watashiのgid chown("/home/tanin/work", uid, gid); } gccでコンパイルしたあと、ルートになって chmod ug+s a.out して、watashiユーザーで実行してみたのですが、失敗しました。 この方法では、watashiはtaninさんのディレクトリのオーナーになることはできませんか?
- 132 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 14:25:35 ]
- chown root a.out
したか? setuidされたプログラムは、そのプログラムファイルの所有者 の権限で動くのであって、自動的にroot権限で動く訳ではない。
- 133 名前:デフォルトの名無しさん [2006/06/30(金) 14:28:01 ]
- >chown root a.out
>したか? ああ、その通りでした。忘れてました。 rootにchownしらた無事動きました。お騒がせしました。
- 134 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 15:09:49 ]
- >>131
chown()の返り値を調べてエラー処理をするように。 int result = chown(〜); if (result != 0) { perror("/home/tanin/work"); exit(1); }
- 135 名前:デフォルトの名無しさん [2006/07/01(土) 23:34:34 ]
- fork() で子プロセスを立ち上げるプログラムを書いてるのですが
(親プロセスは走り続けてイベントを待ち、時々 fork() して子プロセスに仕事をさせる) 子がシグナルを受けたときの親の wait() (wait4()) を呼ぶタイミングがわかりません。 親プロセスに SIGCHLD のハンドラをインストールしてその中で wait4() してみたの ですが、 それだと子プロセスがゾンビになる場合があるようです。(うまくいく場合もある) なお wait4() には WNOHANG をセットしてそこで親がハングしないようにしています。 シグナルハンドラ内の wait4() で駄目なときは、どうやらもっと後で wait4() を呼ぶと うまく子プロセスが刈られるようです。 ただ、それは実験的に親のプログラムのいろんなところに wait4() を埋め込んだ らゾンビが出ないのがわかっただけなんで、それでいいとは思えません。 こういうプログラムの場合 wait() ってどういうタイミングで呼べばいいんでしょうか。 あるいはタイミング以外に問題があるでしょうか。(ソースコードがないと厳しいかな?) ちなみに OS は Mac OS X 10.4.6 です。
- 136 名前:135 mailto:sage [2006/07/01(土) 23:43:08 ]
- あ、ちなみに wait4() を呼ぶときは WNOHANG かつ pid に -1 をセットして
ループで全てのプロセスを処理するようにしています。
- 137 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 23:51:23 ]
- ハンドラ内で、signalがブロックされているうちに、
たくさん子プロセスが終了するけど、 ハンドラ終了のタイミングなどでループで全部処理しきれてない、 くらいしか想像付かない。
- 138 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 00:05:12 ]
- >>135
waitは基本的にSIGCHLDのシグナルハンドラで呼ぶ。 同タイミングで大量の子プロセスが死ぬ場合は問題になるのかも しれないけど、俺はそんな経験nothing。 親プロセスが、子プロセスの死亡時に、プロセスを成就させる以外の 仕事をしないなら、forkを二回行って子プロセスを親プロセスのグループから 切り離すという手もある。 詳しくはUNIX Programming FAQ参照。
- 139 名前:135 mailto:sage [2006/07/02(日) 02:38:11 ]
- どうも、早速のフォローありがとうございます。
>>137 >>138 そうですよね、基本はSIGCHLDのハンドラ内で wait() すればいいんですよね。 すいません、書き込みしたあともう少し調べてみたら、どうも状況によってシグナル ハンドラが呼ばれない場合があるようです。なんとなく、子プロセスが大量にメモリを 使う処理をした後はハンドラが呼ばれていないような... 子プロセスは、同時に起動するのは1つだけです。 ps で見ると子プロセスのステータスは Z になっているんですが。 ちなみに sigaction() を使っているんですが、これって、一回ハンドラが呼ばれたら また再インストールする、なんて必要はないですよね? フラグは SA_RESTART だけを設定しています。 もしかして OS のバグ? とりあえず動くものを作らないといけないので、さしあたり新たに fork() する前に wait4() するようにしてゾンビの増殖は防げるようになりましたが... 気持ち悪い。
- 140 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 03:21:20 ]
- wait4が-1を返した時のerrnoもちゃんとチェックしてる?
死んだ子がいないと判断できるのはerrno==ECHILDの時だけだよ。 wait4が-1返しても、errnoがEINTRの時なんかは、まだ子が取り残されてる場合がある。
- 141 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 09:07:35 ]
- > もしかして OS のバグ?
こう思うときの99%は自分の理解不足が本当の原因。
- 142 名前:プログラミング [2006/07/03(月) 15:16:08 ]
- 誰かほんとにすいませんっ↓この問題分かる人教えてください!!
お願いします!(>△<) 言語はdelphiです。 ?モンテカルロ法を使って1/3を求めるプログラムを作くれ。 モンテカルロ法を試行する回数をプログラム実行時に選べるようにせよ。 ?2分法を使って188の5乗根を求めよ。途中経過を分かりやすく画面に表せ。
- 143 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 15:22:12 ]
- 問題がunix固有ではまるでない感じなので、Delphiのスレに行ったほうが
回答が得られやすいと思われるが、宿題は自分でやろうな。
- 144 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 15:26:16 ]
- >>143
作くれなんて問題の宿題があるか? と思ったがあるみたいだ。
- 145 名前:プログラミング [2006/07/03(月) 15:30:08 ]
- はいっありがとうございます!
delphiの掲示板いってみます(>▽<)☆
- 146 名前:デフォルトの名無しさん [2006/07/05(水) 15:47:29 ]
- この質問はここでいいのかな?
pathName = "/home/guest/" fileName = "*.txt" として、文字列 "/home/guest/*.txt" にマッチしたファイルのみ削除する関数を作りたいのですが、opendir()関数だと、 指定したパス内の全ファイル名を取得することはできたのですが、 特定のパターンにマッチしたファイルのみ取り出すにはどうしたらよいでしょうか? remove_files(char *pathName, char *fileName) { ... ... } こんな関数を作りたいのです。 良い方法はありますか??
- 147 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 15:53:55 ]
- つ fnmatch(3)
つ glob(3)
- 148 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 15:55:44 ]
- Cでやりたいの?
bashのsourceにlibglobってのがあるからそれ使って。 shell scriptでやるのが簡単だとおもうけれど。 "/bin/ls home/guest/*.txt"をpopen(2)するとか。
- 149 名前:デフォルトの名無しさん [2006/07/05(水) 16:06:29 ]
- みなさんありがとうございます。
そうですCでやりたいです。 普段windowsのVCで書いているのですが、10年ぶりくらいに Linuxのgccで少し作業することになりまして、難儀してます。
- 150 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 16:23:04 ]
- >>149
system("/bin/rm /home/guest/*.txt"); Unix系だからこそ、適材適所で書くべきだと思う。
- 151 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 03:56:05 ]
- >>150
>>148 の言ってる popen の方が良いと思う
- 152 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 07:33:33 ]
- 削除するのにls?
- 153 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 18:03:37 ]
- そのツッコミは想定内です
- 154 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 19:27:54 ]
- >>147を無かったことにしたい流れに萎え
- 155 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 22:42:47 ]
- >147か>150の二択でいいんでね?
- 156 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 23:53:55 ]
- シェルを通すやり方の場合、もしユーザーの任意のパターンを受け付けるのであれば、
"; /bin/rm -rf /" なんていうパターンが与えられても大丈夫でないといけない。
- 157 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 01:12:25 ]
- 頭のおかしい人登場
- 158 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 02:41:02 ]
-
漏れなら " & /bin/rm -rf / " にする
- 159 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 03:13:57 ]
- 俺のお気に入りの削除方法おしえちゃう
zip -rm /tmp/.zip *
- 160 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 03:23:46 ]
- 俺は
chmod -R a-x * .*
- 161 名前:デフォルトの名無しさん [2006/07/07(金) 13:39:05 ]
- すんません、シェルスクリプトをCに置き換えたいのですが
システムコマンドって使えるですか? たとえば /usr/bin/aumix -v $VOL この$VOLを可変したいのですが Cってのがこのaumixコマンドを扱えるのかな?と・・・・・・・・・・・・・ヒントキボン
- 162 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 14:47:48 ]
-
int callsumix(char *vol) { char *buf = (char *)malloc(適当); sprintf(buf, "/usr/bin/aumix -v %s", vol); system(buf); free(buf); return 適当; }
- 163 名前:デフォルトの名無しさん [2006/07/07(金) 14:49:20 ]
- >>162 おお!(゚∀゚)神のヨカーン
なるほどね、printfで! echo "aumix -.... ありがd!!
- 164 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 14:55:44 ]
- int callsumix(char *vol)
{ return execl("/usr/bin/aumix", "/usr/bin/aumix", "-v", vol); }
- 165 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 14:58:22 ]
- null terminate するの忘れた。
return execl("/usr/bin/aumix", "/usr/bin/aumix", "-v", vol, NULL);
- 166 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 15:03:48 ]
-
int callsumix(char *vol) 次の人 ↑ ここ直してね
- 167 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 15:11:01 ]
- >>165-166 ちょwww! なんかいろいろと方法があるんすね?!
execl ですかそうですか ちょっとGoogleも見てきます つーか、Bashで書いたものをコンパイルできればいいっすねw
- 168 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 15:21:08 ]
- baka
- 169 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 15:24:02 ]
- その昔、商用でシェルスクリプトのコンパイラってあったよね?
- 170 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 15:44:03 ]
- >>168 つД`)・゚・。・゚゚・*:.。..。.:*・゚
>>169 ヽ(`Д´)/それだ!( ゚д゚)ホスィ…でもCshだけだったり main関数ってなんだよぉ〜 Cなんてわかんねぇよぉ〜 逝ってきますorz でも、CでUNIXコマンドがいじれることがわかったのはテラウレシス!
- 171 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 20:29:39 ]
- >>167
exec*系は成功したら帰ってこないからな。 ついでにforkもペアで調べるんだ。
- 172 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 21:53:35 ]
- nix はその最初の敷居が高すぎる
#define exec fork() ? wait() : execl exec("sh", "-c", "/usr/bin/aumix -v $VOL") もうfork はこれでよくね?うごかねえかな?
- 173 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 22:44:15 ]
- お前それ以前にCわかってないやん
- 174 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 19:12:31 ]
-
; を忘れてるのは見逃すとして、 とりあえず fork() ? wait() : execl("sh", "-c", "/usr/bin/aumix -v $VOL"); になるのか。 pid == 0 の方が実行される方か。
- 175 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 19:17:04 ]
- (;´Д`)
- 176 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 22:48:40 ]
- fork()が-1返した時は?
- 177 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 22:51:50 ]
- wait() へ行くから大丈夫なん?
- 178 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 23:37:01 ]
- execlが返ってきたら危険だね
- 179 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 00:41:54 ]
- orz わかんねぇよ フォークだかボークだかエクセルだかワードだか・・・・
- 180 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 00:46:28 ]
- 素直にif - else ifで書くがよろし。
- 181 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 01:14:59 ]
- >>179
ああぁぁぁぁ!!!! 先を越されたorz それは俺が言おうと(ry
- 182 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 02:03:38 ]
- マニュアル嫁よ
- 183 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 13:07:51 ]
- すんません、「おはよう世界」から出直します
- 184 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 16:37:56 ]
- printf("Good morning world.\n");
- 185 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 17:39:22 ]
- こんにちわ世界でしたね ̄|_|・・・..●ゲヴォルガァ
- 186 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 19:34:36 ]
- printf("Welcome to HELL WORLD.\n");
- 187 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 20:04:09 ]
- char *p = NULL;
while(1){ printf("%02x\n", *p++); }
- 188 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 20:14:34 ]
- >>169
漏れシェルのコンパイラって使ったことあるよ。 「これでシェルスクリプトが100倍速く走るぜ!」 と思って感動にうち震えながら試したが、軽くも速くもならなかった。 漏れがボンクラプログラマ−たから? ええ。それも、そうなんですけどね
- 189 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 00:42:55 ]
- システムコールってわかんねぇよww
もういいや、Shellscriptで書きつづけるよ どうせ100行以上のプログラムなんて書けないしヲ チマチマプログラマーでいいっすヲ
- 190 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 00:48:35 ]
- man 2に入ってるのがシステムコール
man 3に入ってるのがライブラリ
- 191 名前:デフォルトの名無しさん [2006/07/11(火) 19:35:29 ]
- man coに入ってるのがチソポ
- 192 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 19:49:08 ]
- ハァッ、ハァッ、ハァッ、ハァッ!
- 193 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 20:52:46 ]
- >>189
ヒント:www.linux.or.jp/JM/INDEX/ldp.html
- 194 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 11:03:43 ]
- そもそも、ぽまえらの使用言語は何でつか?
- 195 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 11:10:34 ]
- C, C++, perl, sh, Java, BeanShellといったところ。
- 196 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 11:26:38 ]
- C, C++, java, python, Haskell, scheme, bash, zsh, emacs lisp
- 197 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 11:32:08 ]
- Brankfuck, INTERCAL, HQ9+
- 198 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 11:46:12 ]
- C
- 199 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 14:27:58 ]
- 書く頻度でRuby, Java, sh, Cってとこか。
- 200 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 20:52:42 ]
- C++, Perl, C, sh, Ruby, Fortran
- 201 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 20:54:59 ]
- C, Java, C#, Common Lisp
- 202 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 21:09:10 ]
- C# って、もしかして MONO 使ってるの?
- 203 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 21:23:33 ]
- 日常的なスクリプティングは Scheme or CL でこなしたいんだけど、
いかんせん力量不足だなぁ...
- 204 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 21:43:13 ]
- なんでそんなにつかえるんだよー
英語すら使えない漏れはモウダメポ..._〆(゚▽゚*)ですね
- 205 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 22:35:30 ]
- >>202
- 206 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 01:09:43 ]
- >>204
yacc/lex。最狂のスクリプト言語「日本語」を開発すべく技術者募集(嘘)
- 207 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 11:07:35 ]
- 2ch語でプログラムできればどんなにいいかw
米 プログラムテスト 米 コメント 表示 "こんちわ世界" ゴルァ 米 割り込み 糸冬 了
- 208 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 11:36:27 ]
- >>207
kwsk
- 209 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 15:25:31 ]
- OpenMotifとMotifのちがいってなんですか?
MotifのコードはOpenMotifでもコンパイルできますか?
- 210 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 21:41:06 ]
- ライセンス
- 211 名前:デフォルトの名無しさん [2006/07/19(水) 00:43:18 ]
- 質問なのですが、pipeを使って実際のパイプラインのような処理をする場合
どのように繋いでいけばいいのでしょうか? 例えば標準入力から ls | grep a | cat という入力が入ってきた場合はスペース毎に 区切り argmv[0]=ls、argmv[1]=|、argmv[2]=grep...と格納し、 最初の処理でargmv[0]の標準出力をパイプに置き換え、次の処理でargmv[2]と argmv[3]の標準入力、標準出力をパイプに置き換え、最後の処理でargmv[5]の 標準入力をパイプに置き換えるという感じです。
- 212 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 00:45:43 ]
- オナニーはひとに頼らずに自分一人でやれよ
- 213 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 00:53:57 ]
- 再帰的に処理すればいいじゃん。
- 214 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 01:12:11 ]
- >>211
Q&Aかよ!
- 215 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 02:00:42 ]
- >>211
「俺コード」で説明するのはやめてくれ。 まずパイプを二個作り、 ・lsの標準出力をpipe1のfd[1] ・grepの標準入力をpipe1のfd[0] ・grepの標準出力をpipe2のfd[1] ・catの標準出力をpipe2のfd[0] に繋ぎ変えればOK。
- 216 名前:215 mailto:sage [2006/07/19(水) 02:03:19 ]
- あっと、それからその手のコードを書くときは
・何かを標準出力に出力するだけのプログラム ・標準入力をそのまま標準出力にするプログラム を作って、それを使ったほうがいろいろ便利。デバッグプリントとか入れやすいし。
|

|