リダイレクトは/ errに/アウトはstdときにCreateProcess、プロセスが終了しません。

StackOverflow https://stackoverflow.com/questions/2175665

  •  24-09-2019
  •  | 
  •  

質問

私は自分のアプリケーション内からPowerShellスクリプトを起動するのCreateProcessを使用しようとしています。

私は、Microsoftの例を使用しました(ます。http: //msdn.microsoft.com/en-us/library/ms682499(VS.85).aspx の)標準外/中/ ERRパイプます。

の子プロセスを作成し、リダイレクトします

唯一の問題は解決するために、左には、子プロセス(PowerShellは)コマンドを実行した後に終了しない理由です。

私はそれを実行し、CMD.EXE(コマンドで)PowerShellプロセスを実行すると終了し、プロセスを閉じます。

今のPowerShellプロセスを閉じる唯一の方法は、ハンドル上のTerminateProcessを実行することですが、最後の手段のように感じている。

役に立ちましたか?

解決

は完全に子供のstdoutを読んで、あなたの親か?あなたがそれを読んでいない場合は、すべての後、私は子供がハングします信じています。スクリプトが期待する場合にも、入力あなたは子供のSTDINに何かを記述する必要がありますか、他それがハングします。それがぶら下がっているところあなたは子供にwindbgを添付して見ることができました。多分それはあなたを見てする場所のアイデアを与えるだろう。

他のヒント

出力と親プロセスが殺され、完全にリダイレクトしていなかった場合は、

Linuxでは、子プロセスがあまりにも殺されます。そんなに親が殺されたときに、子プロセスの再配置を参照のうえ、Windowsのマニュアルを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top