読者です 読者をやめる 読者になる 読者になる

TerminateProcess

TerminateProcessは、プロセスを強制終了させるWindowsAPI・・・。

TerminateProcess 関数

このAPIは、緊急時に使うもので、滅多な事では使ってはいけない・・・。
(正常終了ではないので、元のプロセスのメモリや、リソースなどがリークする可能性があるため・・・。)

子プロセスであるSubProcess.cppは、

前回と同様に、30秒間とどまる・・・。

しかし、MainProcess.cppでは、

プロセスを生成して、10秒経ったら、TerminateProcessで強制終了させる・・・。
第2引数には、この強制終了における終了コードをセットする・・・。
今回は、100とする・・・。
そのあと、Sleepで1秒待っているのは、すぐに終了コードを取りに行くと、セットした値が返って来ない場合があるためである・・・。

MainProcess Start!
SubProcess Start!

最初はこうだが、10秒経つと、

SubProcess's dwExitCode = 100
MainProcess End!
続行するには何かキーを押してください . . .

SubProcessは強制終了となり、終了コード100が返ってきた・・・。

Sample/MainProcess.cpp at master · bg1bgst333/Sample · GitHub
Sample/SubProcess.cpp at master · bg1bgst333/Sample · GitHub