#include?"pch.h" #include?<iostream> #include?<Windows.h> //線程同步:消息、事件、臨界區(不是內核對象)、互斥體 //創建互斥體對象,守護程序利用OpenMutex()函數檢測對方的互斥體對象是否存在,不存在則創建進程 //線程回調函數 //參數:程序名稱 DWORD?WINAPI?ThreadCheckProc(LPVOID?lParam)?{ STARTUPINFOA?si?=?{?sizeof(si)?}; PROCESS_INFORMATION?pi?=?{?0?}; HANDLE?hMutex; while?(true)?{ hMutex?=?OpenMutexA(MUTEX_ALL_ACCESS,?FALSE,?(LPCSTR)lParam); if?(!hMutex)?{ ????????//unicode下,用W版會失敗 CreateProcessA( (LPCSTR)lParam,? NULL,?NULL,?NULL, FALSE, CREATE_NEW_CONSOLE,? NULL,?NULL, &si,?&pi); WaitForSingleObject(pi.hProcess,?INFINITE); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } else?{ CloseHandle(hMutex); } Sleep(500); } } int?main() { DWORD?Tid; //創建自己的互斥體對象 CreateMutexA(NULL,?TRUE,?(LPCSTR)"p1.exe"); //創建線程檢測對方的互斥體 CreateThread(NULL,?0,?ThreadCheckProc,?(LPVOID*)"p2.exe",?0,?&Tid); while?(1)?{?Sleep(500);?}; return?0; }
克什克騰ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯公司的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
#include?"pch.h" #include?<iostream> #include?<Windows.h> /線程回調函數 //參數:程序名稱 DWORD?WINAPI?ThreadCheckProc(LPVOID?lParam)?{ STARTUPINFOA?si?=?{?sizeof(si)?}; PROCESS_INFORMATION?pi?=?{?0?}; HANDLE?hMutex; while?(true)?{ hMutex?=?OpenMutexA(MUTEX_ALL_ACCESS,?FALSE,?(LPCSTR)lParam); if?(!hMutex)?{ ????????//unicode下,用W版會失敗 CreateProcessA( (LPCSTR)lParam,? NULL,?NULL,?NULL, FALSE, CREATE_NEW_CONSOLE,? NULL,?NULL, &si,?&pi); WaitForSingleObject(pi.hProcess,?INFINITE); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } else?{ CloseHandle(hMutex); } Sleep(500); } } int?main() { DWORD?Tid; //創建自己的互斥體對象 CreateMutexA(NULL,?TRUE,?(LPCSTR)"p2.exe"); //創建線程檢測對方的互斥體 CreateThread(NULL,?0,?ThreadCheckProc,?(LPVOID*)"p1.exe",?0,?&Tid); while?(1)?{?Sleep(500);?}; return?0; }
編譯環境:vs2017? unicode
修改生成的程序為p1.exe,p2.exe,并且p1.exe,p2.exe在同一路徑下,可以實現簡單的雙進程守護。
掛起其中的一個進程,可以實現全部關閉。或者,迅速關閉p1.exe,p2.exe亦可。
網站名稱:C++實現雙進程守護
鏈接分享:http://m.newbst.com/article18/gcigdp.html
成都網站建設公司_創新互聯,為您提供手機網站建設、App開發、網站導航、企業網站制作、定制開發、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯