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


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

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



1 名前:名無し募集中。。。 [05/01/15 02:18:37]
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

前スレ
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

関連スレ
Cygwin使っている人いますか? その13 (UNIX板)
pc5.2ch.net/test/read.cgi/unix/1099157755/
Cygwin使っている人いますか? 3 (Windows板)
pc5.2ch.net/test/read.cgi/win/1090131123/

関連板
pc5.2ch.net/unix/
pc5.2ch.net/linux/


789 名前:デフォルトの名無しさん [2005/05/01(日) 10:11:26 ]
Linuxでのプログラミング学習です。
こんな問題をいきなり授業で出題されました。
まだほとんど何もやってないので、さっぱり
意味が分かりません。分かる方がいらっしゃるなら、
回答の方教えてはいただけませんか?



f(x)=xの2乗-xy-yの2乗 について
x=-0.423 y=1 の時の値を(小数点第4位までの表示)
で求めなさい。ただし、変数x,yの値はscanf文で
入力させてください。


790 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 10:15:54 ]
アナタとワタシはスレ違い。

791 名前:デフォルトの名無しさん [2005/05/01(日) 10:20:48 ]
GTK プログラミング!!
で聞けばいいんですかね?

792 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 10:37:11 ]
>>789
perl -e '$x=scanf();$y=scanf();printf "%.4f\n",$x**2-$x*$y-$y**2;sub scanf {<>}'

793 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 11:20:35 ]
>>789
お好きなところへどうぞ。
pc8.2ch.net/test/read.cgi/tech/1113811213/
pc8.2ch.net/test/read.cgi/tech/1108989422/

794 名前:デフォルトの名無しさん [2005/05/01(日) 12:11:43 ]
ありがとうございました

795 名前:从*・ 。.・) ◆SayuminPM. mailto:sage [2005/05/01(日) 21:46:42 ]
Advanced Programming in the UNIX(R) Environment (2nd Edition)
www.amazon.com/exec/obidos/tg/detail/-/0201433079/

みんな予約した?

796 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 22:50:17 ]
そんな消え行く過去の遺産の本はもういらん
第1版で十分

797 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:19:31 ]
”そんな消え行く過去の遺産の” と "はもういらん"
は不必要



798 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:38:03 ]
今住んでいるところで現物見れそうもないんで、
とりあえずレビューされてから考えようかな、と。
第1版は持ってるし。エラッタ修正待ちも兼ねて。


799 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:42:31 ]
>>797

第1版で十分

800 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:07:33 ]
$ cat >>799 | grep "で" | awk -F'版|十' '{ print $2"?" }'

801 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:26:02 ]
ワロタ

802 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:45:05 ]
>>800
>799は>797の指示に従ったんだろ。

803 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:54:40 ]
>>798
×エラッタ
○イレイタ
○エラータ

804 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 03:53:51 ]
もはやカタカナ表記はエラッタでいいんじゃないの?
UNIXをユニックスと書くやつはいてもユーニクスとは誰も書かないのと同じで。

803は現代日本で生きるのは大変そうだな。
明治時代なら好きな読みを押し付けられたのに。



805 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 03:59:28 ]
>>804はアイロンとか使えないんだよ。

806 名前:デフォルトの名無しさん [2005/05/02(月) 04:20:02 ]
急速にスレの質が低下してまいりました

807 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 19:52:24 ]
いや、最初からこんな感じだったよ



808 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 19:56:03 ]
バケラッタ

809 名前:デフォルトの名無しさん [2005/05/04(水) 16:07:05 ]
c++(gcc)での実行ファイル名(つまり自分自身のファイル名)の取得方法を教えてください


810 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 16:07:46 ]
argv[0]

811 名前:デフォルトの名無しさん mailto:sage [2005/05/04(水) 16:12:01 ]
このスレにあったような。

812 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 23:01:54 ]
質問です。

fork/execして生まれた子が親の死を感知する方法で一般的な
方法はあるのでしょうか?(initに引き取られると困る)

調べると「システムによってはSIGHUPが...」とかという記述で
一般的な方法は見つかりませんでした。

もちろん、「そんな親プログラムを作るな」というのは承知しているのですが...


813 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 23:17:20 ]
ないんじゃないでしょうか。
どうしても知りたければお爺さんプロセスから教えてもらうようにするとか。
ちなみにSIGHUPは親プロセスの死とは直接関係ないですよ。



814 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 23:38:01 ]
ncursesを使ったソースでなるべくシンプルなものってないでしょうか
お手本にしたいのですが

815 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 23:43:53 ]
$ cd ncurses-5.4/test
$ ls
Makefile.in README aclocal.m4 background.c blue.c
bs.6 bs.c cardfile.c cardfile.dat color_set.c
configure* configure.in demo_defkey.c demo_forms.c demo_keyok.c
demo_menus.c demo_panels.c ditto.c dots.c edit_field.c
edit_field.h filter.c firework.c firstlast.c gdc.6
gdc.c hanoi.c hashtest.c ins_wide.c inserts.c
keynames.c knight.c listused.sh* lrtest.c modules
ncurses.c ncurses_tst.hin newdemo.c railroad.c rain.c
tclock.c test.priv.h testaddch.c testcurs.c testscanw.c
tracemunch* view.c worm.c xmas.c


816 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 00:17:10 ]
>>812
親のみが書き手、子が読み手のpipeを用意する。
親が死んだら子によるread(2)の返り値が0になるはず。

とか。一般的かどうかは知らない。

817 名前:812 [2005/05/06(金) 00:35:30 ]
>>813
>>816
レスありがとうございます。やはり一般的な方法はないですか・・・
パイプとかPID監視とかの代替案を使うことにします。



818 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 01:09:12 ]
>>812
> (initに引き取られると困る)

ここが引っ掛かっていてスルーしていたんだけど、
これどういう意味なの? 何が困るの?

pollingでいいなら、IPCのセマフォ使うとか。

819 名前:デフォルトの名無しさん [2005/05/06(金) 01:17:25 ]
p231.net220148094.tnc.ne.jp/
wwwwwwっwwwwwwっうぇwwwwwwwwwwww
wwwうぇwwwうはっwwwっ
おkwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwww

820 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 03:26:12 ]
>>812
kqueue/keventがあるOSなら任意のpidのexitしたのがわかる。

821 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 06:08:03 ]
>>812
適当にシグナル投げてみるとかは?

822 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 06:24:26 ]
>>821
能動的にアクション起こしていいんなら getppid()!=1 で十分だろう

823 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 02:48:42 ]
wchar_t wb[] = L"ほげ";
printf("%S",wb);

wchar_t wb[20];
initscr();
getn_wstr(wb, 20);
printw("%S",wb);
は問題なし
wchar_t wb[] = L"ほげ";
initscr();
printw("%S",wb);

^[$B$[$2^[(B
こんな風に表示されてしまう
setlocale(LC_ALL, "");してみても変化無し
何が足りないんでしょう


824 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 03:05:39 ]
シェルで日本語出すように設定してないだけじゃねーの?

825 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 07:14:54 ]
出力はISO-2022-JPに見える。
ターミナルのlocaleはそれでいいのか?

826 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 18:29:50 ]
>>822
getppidなんてはじめて知った
おくがふかいなぁ

827 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 07:09:50 ]
プロセス間でデータをやりとりするにはどうしたらよいのでしょうか?
WindowsにおけるWM_COPYDATAのような方法を探しているのですが。



828 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 08:35:35 ]
親子、あるいは親戚関係にあればpipe(2)、
そうでなければmmap(2)、IPC共有メモリなど。

829 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 16:03:44 ]
Xwindowで動作するプログラムを作りたいのですが、どこから勉強していけばよいのでしょうか?
C++でコマンドラインプログラムは書けます。

830 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 17:30:24 ]
今さらXlibでもあるまいから、まずは使うGUIツールキットを決めなされ。
多分GTK+かQtのどちらかになると思うけど。決まったらそのスレへgo!


831 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 20:00:24 ]
widestudio とかもあるよ

832 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 20:02:45 ]
最近良く見かけるが、WideStudio の中の人は 2ch で宣伝する方針なのか?

833 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 20:26:28 ]
Motifを忘れているよ。
UNIXなら標準だし、ついでにXlibにも詳しくなる。

834 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 20:30:23 ]
いつのまに標準になってたのか

835 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 20:46:32 ]
Motifはどさ回りの仕事量が増えるけどねぇ。
ツールキットとしては古くて資料も色々あるけど。
それにしても、関数名が長いし。
#XmToggleButtonGadgetGetState()とかw

836 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 20:59:48 ]
>>833
>ついでにXlibにも詳しくなる。
詳しくないと使えないっつーか
だから避けられるんだっつーか

…折れ線グラフひとつ書くのも一苦労でしたよ、ええ。

837 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 00:27:26 ]
C++だからQtかgtk--のどちらかだろう。
俺としてはmoc拡張の必要のないgtk--を推奨。

www.geocities.com/SiliconValley/Vista/7184/guitool.html
↑を眺めてみるのもよし



838 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 23:46:19 ]
おれならまずXでGUIアプリなんて作らないな

839 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 03:01:37 ]
あるプロセスIDのプログラムが実行中かそれとももう終了したのかを確認するにはどうしたらよいのでしょうか?

840 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 03:31:32 ]
詳解Unixプログラミングを読むのが一番早い。

841 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 04:19:01 ]
それくらいならFAQにも出てたと思う。


842 名前:839 mailto:sage [2005/05/14(土) 04:48:27 ]
/procディレクトリの中のPIDと同じファイルが存在すれば、実行中であると判断しても問題ないでしょうか?
実行が終了すれば必ず消えるものなのでしょうか?

843 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 06:18:25 ]
kill 839


844 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 06:20:14 ]
>>839
kill(pid, 0)

845 名前:デフォルトの名無しさん mailto:sage FAQ読め、書いてあるから [2005/05/14(土) 06:20:43 ]
間違えた。

kill(839, 0)


846 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 06:36:23 ]
まあ、FAQによれば
killよりも/procの方が確実に判定できるケースがあるとのことだから
そのやり方について聞いているんだろう。
実装(環境)依存としか答えようがなさそうだけど。

関係ないけど、「実行中である」という確実な判定は不可能だな。
なんらかの呼び出しから制御が戻る前に終了する可能性がある。
PIDの唯一性(再割り当てされないこと)が保証されていれば
「終了した」ということは判定できるだろうけど。

847 名前:デフォルトの名無しさん [2005/05/14(土) 06:39:19 ]
fork() 関数で子プロセスを生成しました。
親プロセスは、一秒に一回ぐらいの間隔で、子プロセスが終了してるかどうかを確認したいのです。
その間、親では

while(1){
子プロセスの終了してるか監視 終了してれば、処理を抜ける
メータ表示
}
などのプログラムを動かしたいと思っています。


いろいろ調べたんですがwait()関数なるものが子プロセス終了まで待ちつづけるというものでしたので、子プロセスが動いている間
メータを動かすという処理が出来ませんでした。

子プロセスは、system関数で、別のプログラムを実行しています。
その間、親プロセスで、メータを増やす処理をしたいのですが、子プロセスが終了?してるか調べるwait関数に変わるものは何かあるのでしょうか?

ps -aux で確認したところ、子プロセスの処理が終わったらゾンビプロセスになってました;



848 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 06:56:45 ]
おまえはタイトルも>>1も読まないだけでなく
最近の10レスも読まないのな

849 名前:デフォルトの名無しさん [2005/05/14(土) 07:41:43 ]
>848
別のスレでもご迷惑をかけました

勝手に書き込んで荒らしてしまって、
すみませんでした自分で調べてみます。

申し訳ありませんでした。


>おまえはタイトルも>>1も読まないだけでなく
>最近の10レスも読まないのな

これからは、すべて読んでから書き込みます。
すいませんでした。


850 名前:デフォルトの名無しさん [2005/05/14(土) 07:43:25 ]
なんで伝統伝説のUNIX板に聞かないの?

851 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 08:16:29 ]
UNIX板気持ち悪いので

852 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 09:54:10 ]
>>847
wait3(2)かwait4(2)で、WNOHANG


853 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 13:02:59 ]
busy loopなんかするな馬鹿

854 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 21:11:45 ]
>>847
なんだそれは?その子プロセスは直接の子では無いではないか。
素直にAPUEを嫁

855 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 21:15:06 ]
メータって。プログレスバーじゃねぇの?

856 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 22:40:27 ]
sleepをミリ秒単位で実行する方法を教えてください

857 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 22:59:42 ]
>>856
usleep



858 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 23:03:30 ]
>>857
ありがとう

859 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 23:09:50 ]
>>856
nanosleep

860 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 23:57:59 ]
select

861 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 11:17:57 ]
社のUNIX遣いの口癖が「だからぁ、子を先に殺すんだよw」なんです。いつも半笑いで。


通報したほうがいいですか?

862 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 12:15:06 ]
つまらん。勝手にすれば。


863 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 13:05:55 ]
あひゃひゃ

864 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 13:33:11 ]
CPUの個数を取得する方法を教えてください

865 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 15:41:24 ]
ケースの蓋を開けて目視で確認してください

866 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 15:52:40 ]
最近は目視じゃ不十分だな

867 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 15:54:26 ]
BSD系だと sysctl でわかったりする。
Linuxは知らないけど /proc の下あたりになんかあるんじゃ?
いずれにしても移植性はないと思う。



868 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 16:58:19 BE:50674853- ]
/proc/cpuinfo

869 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 17:16:43 ]
HTだとわからんな

870 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 01:38:20 ]
HTでも/proc/cpuinfoに出るぞ

871 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 02:05:21 ]
UNIXでWindowsのDLLの動的ロードのようなことはどのようにやるのでしょうか?

872 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 02:13:11 ]
>>871
dlopenとかの事?

873 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 02:49:38 ]
UNIXでWindowsのDLLのDllMainのようなことはどのようにやるのでしょうか?


874 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 02:52:05 ]
どういう挙動を望んでいるのかをなぜ自分で説明しないのだろうか?


875 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 07:14:10 ]
man dlopenすれば馬鹿でも分かるように書いてある。

876 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 07:33:33 ]
dll自体はどのように書けばよいのでしょうか?

877 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 08:04:37 ]
www.linux.or.jp/JM/html/LDP_man-pages/man3/dlopen.3.html



878 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 08:07:35 ]
www.linux.or.jp/JF/JFdocs/Program-Library-HOWTO/index.html

879 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 08:18:47 ]
リンクをはるだけならバカでもできますが何か。

880 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 08:29:00 ]
おー、ここから来たのかと思っちゃったよ。
ex10.2ch.net/test/read.cgi/news4vip/1116266649/

881 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:47:58 ]
↑典型的なUNIX脳

882 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 10:48:05 ]
CPU使用率の取得方法を教えてください

883 名前:デフォルトの名無しさん [2005/05/18(水) 14:57:59 ]
>>882
getloadavg(3)

884 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 15:01:00 ]
sshでリモートコンピュータにログインして、コマンドを実行するにはどのようにしたらよいのでしょう?

885 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 15:08:33 ]
>>882
使っているCPUの数 ÷ 所有しているCPUの数 × 100


886 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 16:30:45 ]
>>883 どうやってそういうの見つけるの?

887 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 16:33:08 ]
>>886
経験を積む



888 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 17:39:04 ]
マニュアルを読む。
kmem, /proc関係

$ cat /proc/loadavg


889 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 20:29:09 ]
getloadavgは一部のOSにしか実装されていないはず。

HP-UXだったら、pstat(2)(pstat_getdynamic(2)だったかな)。
Tru64 UNIXだったら、table(2)。






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

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

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