- - PR -
サービスから複数プロセスを起動する件 (C#)
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-11 18:01
お世話になります。
現在、各種プログラムを起動するサービスを作成しようとしています。 サービスのOnStart部に以下の処理を記述しました。
上記で呼び出される「hoge.exe」は1時間スリープするだけのプログラムです。 そうしたところ、プログラムの起動数が40個を超えた付近で、hoge.exe内で 「アプリケーションを正しく初期化できませんでした(0xc0000142)。[OK]をクリックしてアプリケーションを終了してください。」 と表示されそれ以降のプログラムの起動に失敗してしまいます。 サービスでなく普通にWindowsフォームのプログラム内で上記の処理を追加した場合は、プロセス数100個でもエラー無しで実行できるのでサービス固有の問題だと思うのですが、エラー無しでちゃんとプログラムを起動する方法はあるでしょうか? 以上、よろしくお願いいたします。 【動作環境】 Windowx Xp Professional SP2 Visual 2005 Team Edition for Software Developers C# 2005 サービス起動ユーザ LocalSystem | ||||
|
投稿日時: 2006-12-12 09:38
たしかWindowsサービスのOnStartは30秒以内に処理を完了させないとタイムアウトになったような気がします。
別スレッドを起動して、そこで処理すればいいかと思います。 | ||||
|
投稿日時: 2006-12-12 20:09
burton999さま返答ありがとうございます。
残念ながら、プロセスを起動するだけなので、30秒もかかりません。 で、その後、ネット上で色々調べたところ 「アプリケーションを正しく初期化できませんでした(0xc0000142)。[OK]をクリックしてアプリケーションを終了してください。」 というエラーはデスクトップヒープが枯渇した時にでるというのに行きついたためレジストリでデスクトップヒープを増やす事により無事対応できました。 http://interstage.fujitsu.com/jp/technical/trouble/trumwt19017_01.html ありがとうございました。 |
1