- 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
- 232 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 21:01:15 ]
- >>229
ええんとちゃいますの。(実行してみてないけどw) lだとコマンドごとに引数可変長にできないからvにしてみて。
- 233 名前:211 [2006/07/19(水) 21:47:07 ]
- kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2406.txt
一応それらしい形にはできたのですが、パイプで命令を繋いでいっても なにも出力されません。パイプの部分をコメントアウトするとそれぞれの 命令を実行していくので、繋ぎ方がおかしいと思うのですが、どこが 間違っているか分かりますでしょうか? ↑のは元のが長いので命令を固定して繋ぐところだけやってます。
- 234 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 21:58:48 ]
- $ grep grep a
grep: a: そのようなファイルやディレクトリはありません
- 235 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 22:38:02 ]
- 質問させて下さい。
引数に ~/hoge/ を指定されたら~/hoge/の中身を配列にいれたのですが それはどうするればいいんでしょうか?
- 236 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 22:40:34 ]
- >>235
入れた後どうするかは君次第。
- 237 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 22:56:55 ]
- UNIXプログラムができて、納品も済みました。この後どうすればいいでしょう?
- 238 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 22:59:35 ]
- 取り敢えず給料を見越してサラ金で金借りて風俗
- 239 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 00:06:04 ]
- 小便を済ませて神様にお祈りして部屋のスミでガタガタふるえて命ごいをする心の準備をする。
- 240 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 00:42:51 ]
- >>233
>>229のコード参考にしたら?
- 241 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 11:55:58 ]
- コードが書けないので、書いてくださいとお願いしても誰も書いてくれない。
しかたないので自分で書いてみて、動かないのでどこがわるいのか聞いても誰も教えてくれない。 なんなの!ここ。もう二度とこんなとこ来るもんか! と>>233は思ってるに違いない。 でもね、それは違うよ。質問のやり方が悪いんだよ。
- 242 名前:234 mailto:sage [2006/07/21(金) 01:14:29 ]
- 答えてるやん!
- 243 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 23:04:18 ]
- >233
forkしてからpipeしない、順序逆。
- 244 名前:デフォルトの名無しさん [2006/07/22(土) 17:46:59 ]
- Linuxスレッドプログラミングの良い書籍ないか?
- 245 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 19:00:30 ]
- >>244
俺はこれを読んで学んだ。 英語だけど意外とわかりやすかった。 www.advancedlinuxprogramming.com/ www.advancedlinuxprogramming.com/alp-folder/alp-ch04-threads.pdf
- 246 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 20:08:23 ]
- >245
thx! やっぱpthreadなんだ オライリーで一冊日本語の本あったけど、どうしようかな。
- 247 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 23:15:28 ]
- UNIX板のpthread地獄スレに推薦図書あるよ。
この板のマルチスレッドプログラミングスレにも。
- 248 名前:デフォルトの名無しさん [2006/07/22(土) 23:25:08 ]
- >>247
イッテミルお
- 249 名前:デフォルトの名無しさん [2006/07/23(日) 02:35:56 ]
- 基本的な質問かもしれないですけど
プログラム上からカレントディレクトリを変更する方法ってありますか? あるなら教えてください・・・・
- 250 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 03:33:39 ]
- chdir(2)
いっとくけど、cdコマンドは原理的に単独のプログラムとしては作れないからね。
- 251 名前:デフォルトの名無しさん [2006/08/17(木) 19:43:41 ]
- Red Hat Enterprise Linux 3 はBSD系ですか?SVR4系ですか?
- 252 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 19:45:53 ]
- >>250
何を言ってるのだ、お前は。
- 253 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 20:00:59 ]
- >>251
SVR4 >>252 お前こそ何を言ってるんだ。
- 254 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 20:50:20 ]
- >>253
どうやって識別できるの?
- 255 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 21:39:13 ]
- >>254
LinuxはSVR4、*BSDはBSD
- 256 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 21:46:12 ]
- LinuxはSytemV系かBSD系かといえば、どちらかというとSysemV系という感じ。
詳しくはttp://ja.wikipedia.org/wiki/UNIX
- 257 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 21:46:56 ]
- >>255
utmpファイルの場所がBSD系と同じなんだが
- 258 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 21:48:16 ]
- >>257
>>256
- 259 名前:256 mailto:sage [2006/08/17(木) 22:05:56 ]
- >>255
ようわかったわ
- 260 名前:256 mailto:sage [2006/08/17(木) 22:22:10 ]
- >>259
誰ディスカ?
- 261 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 00:48:44 ]
- >>256
そこの UNIX 系統図は酷いな。 ここ(www.levenez.com/unix/)までしろとは言わんけどさ、 もうちょっと、ねぇ。
- 262 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 00:55:44 ]
- >>261
耐えられないほどひどいのなら、書き換えていいんですよ。
- 263 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 01:12:33 ]
- >>262
貧乏人を見るのが小金持ちの楽しみなのさ。
- 264 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 01:29:44 ]
- >>261の関係図はGraphvizを使ってるのかな
- 265 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 14:25:44 ]
- >263
悪趣味……
- 266 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 23:59:52 ]
- 宗教の勧誘は最高に素敵な趣味だよな。
- 267 名前:デフォルトの名無しさん mailto:sage [2006/08/20(日) 21:26:23 ]
- 詳解UNIXプログラミングで勉強してます
なかなか難しいっす
- 268 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 05:06:48 ]
- なんかUNIXのdaemonてマルチプロセスが多いみたいだけどなんででしょう?
全部マルチスレッドでやったらいいと思うんですけど
- 269 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 09:51:42 ]
- スレッドが簡単に使えるようになる前からあるコードが多いから。
- 270 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 12:35:49 ]
- ・ひとりがこけたらみなこけた、にならないように
・再起動しやすいように
- 271 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 21:48:34 ]
- >>270
スレッド間グローバル変数みたいなアホなテクが使えないので結果的にコードがすっきりする。
- 272 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:35:06 ]
- そんなの全部後付けの理由だろ。
本当の理由は>>269の言うように Unixにまともなスレッドが実装されたのがかなり後だから。 で、それまでの資産(書籍やサンプル等も含めて)が多数あり マルチプロセス向きの機能や性能が常に強化の目標になっていたからさ。
- 273 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:39:06 ]
- >>271
?
- 274 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:40:47 ]
- >>272
?
- 275 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:49:41 ]
- >>273
?
- 276 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:53:49 ]
- >>274
?
- 277 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:59:54 ]
- >>275
?
- 278 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 00:16:18 ]
- まともでポータブルなスレッドの実装なんて、今でもあるのかどうかw
- 279 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 00:19:06 ]
- 商用Unixであれば、ポータブルなんて考えなくていいから
- 280 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 00:44:17 ]
- そういうのでスレッドが利きそうなのは、スレッド化されてるんじゃないの?
nfsがらみとかさ。
- 281 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 20:21:13 ]
- スレッドってエンドユーザが扱いにくいだろ
プロセスなら扱いやすい。 エンドユーザのことを考えろよ
- 282 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 21:10:46 ]
- UNIXのエンドユーザーなんて大規模サーバの管理者だったりするわけで
多少の扱いやすさより効率うpの方がうれしいと思うけど
- 283 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 22:18:22 ]
- >>281
子プロセス一個殺せたところで嬉しくも何ともない。
- 284 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 22:19:48 ]
- >>283
シグナルを気軽に送れるところに意味がある。
- 285 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 22:24:33 ]
- >>268
マルチスレッドでやったらいいと思うのは、具体的にはどのdaemonのこと?
- 286 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 22:42:04 ]
- >>285
init
- 287 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 22:57:02 ]
- 犬板にお引き取りください
- 288 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 23:18:27 ]
- >>284
つprocess group つPOSIX 1003.1b
- 289 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 00:46:29 ]
- >>288
何が言いたいの?
- 290 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 01:07:58 ]
- BIND はマルチスレッドじゃなかったっけ?
>>268 歴史的な理由:スレッドが普及する前から UNIX は存在したとか、古い OS でも動かしたいとか 実装的な理由:移植性が必要とか、デバッグし辛いとか、排他が面倒とか 管理上の理由:スレッド単位で kill 出来ないとか、プロセスの方が監視し易いとか 古い環境を無視出来るなら、もっとマルチスレッドにして良いと思うよ
- 291 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 01:16:33 ]
- configureまたはコンパイルオプションで、マルチプロセスかマルチスレッドを
選べる奴も増えてるよね。
- 292 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 08:06:32 ]
- ほんとうに並列性が必要ならマルチプロセスだよね。マルチスレッドはお手軽だけど制限が多い
- 293 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 01:19:09 ]
- MPIとか
- 294 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 08:18:14 ]
- スーパー破瓜ーになりたいんですがどうすればいいですか?!!!!11!!
- 295 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 23:40:06 ]
- >>294
大根でも突っ込んでしまえ。
- 296 名前:デフォルトの名無しさん [2006/09/12(火) 14:24:14 ]
- 共有メモリをマップ中に、万一、
プロセスが 9 番受けてデタッチできずに死んでしまっても、 また起動すれば共有メモリ自体はまた正しくマップできますか? 共有メモリ自体が残っていることは問題ないとします。
- 297 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 14:27:29 ]
- mmapだよね?
出来ますよ。共有ファイルの権限が変わってない限り。 System V IPCの共有メモリも同様。
- 298 名前:296 mailto:sage [2006/09/12(火) 14:32:02 ]
- >>297
ありがとうございましたー!!
- 299 名前:デフォルトの名無しさん [2006/09/15(金) 19:08:21 ]
- おねがいします。
自分のファイル名(x.exe)を読み込んで xの部分がAすなわちA.exeだったらaを実行して xの部分がBすなわちB.exeだったらbを実行する っていうようなCのプログラムを教えてください。
- 300 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 19:54:46 ]
- 宿題は宿題スレで
- 301 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 20:32:44 ]
- UNIXなのに、A.exeなんて名前をつける香具師は死んでしまえ
- 302 名前:デフォルトの名無しさん [2006/09/15(金) 21:15:31 ]
- >>299
マルチ乙 35 名前: デフォルトの名無しさん 投稿日: 2006/09/15(金) 19:06:52 おねがいします。 自分のファイル名(x.exe)を読み込んで xの部分がAすなわちA.exeだったらaを実行して xの部分がBすなわちB.exeだったらbを実行する っていうようなCのプログラムを教えてください。
- 303 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 21:37:30 ]
- busyboxのソースが参考になるかと思うんだけど
- 304 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 21:58:35 ]
- ヒント argv[0]
ヒント以上だな。
- 305 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 22:01:41 ]
- >>281
同意。 apacheで異常暴走したCGIをとめる時とか スレッドよりマルチプロセスのほうが 気軽にkillできるということで・・ スレッドのほうがコストが低いとかスティーブンス本には 書いて歩けど中身がスレッドで見た目マルチプロセス みたいな解はないもんかね。 スレッド単位でkillできる方法とかあれば topをカスタマイズするとか チャレンジしてみたいけどねーけどねー・・
- 306 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 22:53:13 ]
- >スレッド単位でkillできる方法とかあれば
共有してるコンテキストがボロカスになりそうだ。
- 307 名前:Motif?はぁ? mailto:sage [2006/09/15(金) 23:01:32 ]
- ぜっっっっっっっっってーウインドウ物のプログラムなんか書いてたまるか!
て、思っていたが…書く羽目になりますた。orz もち〜ふの処女用教科書とか、ありましたら教えてくだしあ とりあえず今は、ここ↓で勉強中でし home.soka.ac.jp/~unemi/Motif/example.html
- 308 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 23:03:59 ]
- よりによって今からもちーふかよ。
- 309 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 23:32:02 ]
- >>307
茨の道にようこそ。今時のLinuxに載っているようなMotifはVer2になっているから ComboBoxやTabPageが使えたりして便利な反面、その辺りを説明している資料は殆どない罠。
- 310 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 23:35:55 ]
- >>309
これからも訓練頑張って下さい。
- 311 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 11:25:27 ]
- >>309
私ゃ素人でアレなんでつが、あの、開発環境っぽい ぐれーど てえのは、皆さん普通に使いますか?
- 312 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 19:40:20 ]
- おそらくここにはXで何か作ってる人間はいないと思われ
- 313 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 22:07:52 ]
- >>312
かつて作ったが、今は(そのプロジェクトは終わっているので)作っていない。 >>311 私ゃ皆さんじゃないよ〜 >>310 何の訓練?
- 314 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 00:23:18 ]
- ぐれーどというのがgladeのことなら、
それはGtk+というツールキットを使ったアプリのUI(ウィンドウ内の部品配置) 定義を対話的に作って、それをXMLで出力するもの。Motifには無縁の存在。
- 315 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 00:30:41 ]
- >>314
そのXMLをパースしてmotifのウィジットを配置する関数を生成するジェネレータを作ればいい。 あなたは頭が固すぎる。
- 316 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 02:11:51 ]
- >>315
仕事で似たようなことやってるが、不毛だぞ。
- 317 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 21:24:01 ]
- シェルのプログラムのBASHを使って、
九九の表を作成したいのですが、記述例を教えてください。 お願いします。 Whileとか使った方がいいようです。。。 できれば、説明もお願いします。
- 318 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 21:43:32 ]
- >>317
$ for n in `seq 9`; do for m in `seq 9`; do echo -n `expr $n '*' $m` ""; done; echo ;done man seq man expr
- 319 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 21:56:35 ]
- どーせ質問者Linux使ってるだろうからあるだろうけど、
seqって可搬性あるんだっけ? yes '' | cat -n | head -9 とか書けばいい?
- 320 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 22:13:45 ]
- そっか、可搬性か。bash限定だから
s/`seq 9`/{1..9}/g かな?
- 321 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 07:58:39 ]
- # cat seq
#! /bin/sh if [ $# -lt 1 ]; then echo missing operand 1>&2 exit 1 elif [ $# -gt 3 ]; then echo extra operand 1>&2 exit 1 elif [ $# -eq 1 ]; then FIRST=1 INC=1 LAST=$1 elif [ $# -eq 2 ]; then FIRST=$1 INC=1 LAST=$2 elif [ $# -eq 3 ]; then FIRST=$1 INC=$2 LAST=$3 fi n=$FIRST while [ "$n" -le "$LAST" ]; do echo "$n" n=`expr "$n" + "$INC"` done
- 322 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 21:07:18 ]
- 皆さん考えてくださってありがとうございます。
考えてくださっているのですが、 IFやFOR等は使っちゃだめみたいなんです。 記述は、 #!/bin/bash while [ ] do done のような記述のみでつくれっていわれてるんです。 whileは自動的に表示結果に改行が入ってしまいますよね? その改行をなくすにはどうしたらいいんでしょうか?
- 323 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 21:38:47 ]
- 宿題ですか。
- 324 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 22:00:28 ]
- $ n=1;while test $n -le 9; do m=1;while test $m -le 9; do echo -n `expr $n '*' $m` ""; m=`expr $m + 1`; done; echo; n=`expr $n + 1`; done
echo -nを使う
- 325 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 22:07:03 ]
- 正直、宿題です orz
- 326 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 22:33:04 ]
- echo -nを使っている状態で、改行させるにはどうしたらいいですか?
- 327 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 23:03:53 ]
- echo -n "hoge" "
" "hage"
- 328 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 10:16:53 ]
- >>326
-nを付けない。
- 329 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 10:50:33 ]
- \n
- 330 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 13:16:41 ]
- ありがとうございました。
無事、宿題を終えました。 色々と教えてくださった方々感謝します。
- 331 名前:デフォルトの名無しさん [2006/10/02(月) 23:08:27 ]
- だれか教えて。
Makefileで環境変数(PATH)を変更したいのです。 現在設定されているPATHの先頭に/aaaを追加するには どう記述すればよいですか
- 332 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 23:52:36 ]
- >>331
PATH=$(PATH):/aaa
|

|