0

私はCreateProcessを使用して、自分のプロセス/アプリケーションを実行しています。目的は、それを実行し、何かを実行し、何らかの指示を待って、それを閉じることです(TerminateProcessを使用)。

私が気付いたのは、このアプリケーション/プロセスがサブプロセスを作成することです。さらに、作成されたプロセスを終了する場合、サブプロセスは終了せず、一定期間残ります。

メインプロセスですべてのサブプロセスを強制終了するオプションがあるかどうかを尋ねたかったのです。CreateProcessを再度実行すると、前のプロセスの残りがあり、いくつかの問題が発生していると思われるため、問題が発生します。

私は本当にあなたの助けに感謝します!

4

2 に答える 2

4

Windowsジョブ オブジェクトを使用します。ジョブはプロセス グループのようなものです。ジョブ リーダー (最初のプロセス) が終了すると、オペレーティング システムがジョブ内のすべてのプロセスを終了します。これは、プロセス リーダーがクラッシュした場合でも機能します。

于 2013-02-19T11:37:35.643 に答える
1

CreateProcessを使用してプロセスを作成すると、 LPPROCESS_INFORMATIONポインターを取得します。プロセスハンドルが含まれています。Linux / Unixのようなプロセス階層はないため、プロセスを手動で閉じる必要があります。

CreateProcessについてはこちらを、PROCESS_INFORMATION -structureについてはこちらをご覧ください。

于 2013-02-19T11:39:48.553 に答える