spawnについて
Posted: 2010年11月23日(火) 03:00
C言語の関数 spawnに関しての質問です。
参考URL:http://msdn.microsoft.com/ja-jp/library/20y988d2(v=VS.80).aspx
プログラムの関係上、mode引数を
_P_WAITではなく、
_P_NOWAITを使用しようと考えています。
エラー処理のため、
spawnで実行した子プロセスが一定時間以上たった場合に子プロセスを強制で終了させるようなプログラム
を目指したいのですが、アドバイスや作成例などはありますか?
spawnl( _P_NOWAIT, ~, NULL );
sleep(ちょっとの計算時間):
if(子プロセスが計算中の場合){
sleep(エラーだと判別できるくらいの時間);
強制終了;
}
上記のような場合だと、二行目の「ちょっとの計算時間」が子プロセスによって異なるため、汎用性がありません。
無駄な時間をとらないよう設定したいと考えています。
どのような子プロセスに関しても対応できるようにしたいのですが、いい方法はありませんか?
また、強制終了の方法に関しても、spawnでの方法がいまいちわからないのでアドバイス等頂ければと。。。
なるべく、他のプロセス方法(シグナル等)ではなく、spawnでの方法を探しています。
いろいろ注文が多くてごめんなさい。
参考URL:http://msdn.microsoft.com/ja-jp/library/20y988d2(v=VS.80).aspx
プログラムの関係上、mode引数を
_P_WAITではなく、
_P_NOWAITを使用しようと考えています。
エラー処理のため、
spawnで実行した子プロセスが一定時間以上たった場合に子プロセスを強制で終了させるようなプログラム
を目指したいのですが、アドバイスや作成例などはありますか?
spawnl( _P_NOWAIT, ~, NULL );
sleep(ちょっとの計算時間):
if(子プロセスが計算中の場合){
sleep(エラーだと判別できるくらいの時間);
強制終了;
}
上記のような場合だと、二行目の「ちょっとの計算時間」が子プロセスによって異なるため、汎用性がありません。
無駄な時間をとらないよう設定したいと考えています。
どのような子プロセスに関しても対応できるようにしたいのですが、いい方法はありませんか?
また、強制終了の方法に関しても、spawnでの方法がいまいちわからないのでアドバイス等頂ければと。。。
なるべく、他のプロセス方法(シグナル等)ではなく、spawnでの方法を探しています。
いろいろ注文が多くてごめんなさい。