[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 16:30 / Filesize : 142 KB / Number-of Response : 667
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

UNIXプログラミング質問すれ Part8



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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<142KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef