質問するログイン新規登録

回答編集履歴

1

追記

2016/03/17 01:26

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -1,4 +1,19 @@
1
1
  こんにちは。
2
2
 
3
3
  まだpingコマンドを実行中ということはないでしょうか?
4
- pingコマンドが終了していなかった場合、出力がまだバッファに入っていてファイルへ書きだされていないかも知れません。
4
+ pingコマンドが終了していなかった場合、出力がまだバッファに入っていてファイルへ書きだされていないかも知れません。
5
+
6
+ ---
7
+ 【追記】
8
+ > 同様のことをpingではなく、
9
+ (後略)
10
+
11
+ 不思議ですね。
12
+ 良く分からないのですが、お使いのlinuxでsystem()関数がスレッド・セーフなのかどうか、まず確認されてはどうでしょうか?
13
+ この辺情報が錯綜していて結論が見えませんでした。
14
+ [Man page of SYSTEM](https://linuxjm.osdn.jp/html/LDP_man-pages/man3/system.3.html)→スレッドセーフ
15
+ [catsforepawさんご提示のサイト](http://blog.livedoor.jp/centosnotes/archives/2783453.html)→マルチスレッドでsystemは危険
16
+ [シグナルについて](http://d.hatena.ne.jp/kori_hatonosuke/20050502/1115019568)→マルチスレッドでシグナルのブロックは要注意
17
+ [鉄則3: マルチスレッドのプログラムでのforkはやめよう](http://d.hatena.ne.jp/yupo5656/20040715/p1)→10年以上前の古い情報ですが、システムの本質的な部分の話なので変わったならそれなりに情報がある筈。
18
+
19
+ linuxがマルチスレッドでのforkに対応したという積極的な情報が見つからなければ、マルチスレッドでforkするのは危険という感じがひしひしとします。