エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
system()関数と、マルチスレッドと、シグナルハンドラ : centosとかfedoraとか組み込みLinuxとかの色々備忘録
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
system()関数と、マルチスレッドと、シグナルハンドラ : centosとかfedoraとか組み込みLinuxとかの色々備忘録
2010年06月25日11:24 カテゴリ system()関数と、マルチスレッドと、シグナルハンドラ まぁ、わかってる... 2010年06月25日11:24 カテゴリ system()関数と、マルチスレッドと、シグナルハンドラ まぁ、わかってるひとには、タイトル見ただけで、私が間抜けなプログラマだと宣伝してるだけなのかもなのですが、今週調べたことを備忘録代わりに。 マルチスレッドプログラムで、あるスレッドから、system()関数を使いました。 status = system("pwd"); みたいなコードです。 ところが、statusが、-1になったり、正常にsystem()関数で実行したコマンドの戻り値が取れたり、と、挙動が変わります。 で、このプログラム、すでにSIG_CHLDのシグナルハンドラが登録されていました。中身は、fork-execして終了した子をゾンビ化させないためのwaitpid()だけの簡単なものです。 system()関数が、-1で終了する時には、シグナルハンドラの方でsystem()関