how to terminate all the processes in C - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: how to terminate all the processes in C (/thread-11945.html) |
how to terminate all the processes in C - py2exe - Aug-02-2018 win 7 I have used C to write a project, and compile it to dll to be used in a big program writing with python.After finished using the DLL, although I have used the closing com port function in the dll, the com port was still be used. In the end of the dll, all the thread was terminated but I suspect a memory overflow problem so I want to forcely kill all the process at the end of the dll. I tried pid_t pid = getpid() but it could not be used and I think it may only be used in linux, so how to terminate all the process so the com port could be released after using the dll? #include <windows.h> #include <tchar.h> #include <sys/types.h> #include <stdio.h> #include <conio.h> #include <signal.h> #include "getopt.h" #include "download_main.h" ...... #ifdef CREATE_SEND_THREAD TerminateSendThread(); #endif TerminateMonitorThread(); release_async_io(); if (hCom != INVALID_HANDLE_VALUE) { unconfig_serial_port(); fSuccess = CloseHandle(hCom); if (!fSuccess) { TRACE("CloseHandle failed with error %d", GetLastError()); } else { hCom = INVALID_HANDLE_VALUE; TRACE("Serial port %s successfully closed", commPort); } } free_programmer_data(); //free_flash_data(); deinit_download_var(); deinit_pyext_sync_event(); if(!!g_dldtool_exit_code) app_ev_notify(ev_wm_exit_invalid, 0); else app_ev_notify(ev_wm_exit_valid, 0); TRACE("download exit code:%d\n",g_dldtool_exit_code); pid_t pid = getpid(); system("tskill pid"); return g_dldtool_exit_code; } |