From acedf0890de256fce899f09df896e5d0b0bf8d57 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Tue, 16 Nov 2021 00:34:54 -0800 Subject: [PATCH] Updated process.kill on windows to use Open/Terminate --- microscript/ILibDuktape_ScriptContainer.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/microscript/ILibDuktape_ScriptContainer.c b/microscript/ILibDuktape_ScriptContainer.c index d9c91b6..4c8220f 100644 --- a/microscript/ILibDuktape_ScriptContainer.c +++ b/microscript/ILibDuktape_ScriptContainer.c @@ -862,10 +862,11 @@ duk_ret_t ILibDuktape_ScriptContainer_Process_Kill(duk_context *ctx) int pid = duk_require_int(ctx, 0); #ifdef WIN32 - int len = sprintf_s(ILibScratchPad, sizeof(ILibScratchPad), "require('child_process').execFile(process.env['windir'] + '\\x5Csystem32\\x5Ccmd.exe', ['/C', 'taskkill /F /PID %d']).waitExit();", pid); - if (len > 0) + HANDLE handle = OpenProcess(PROCESS_TERMINATE, FALSE, (DWORD)pid); + if (NULL != handle) { - duk_eval_string(ctx, ILibScratchPad); // [child_process] + TerminateProcess(handle, 0); + CloseHandle(handle); } #else int s = SIGTERM;