關於程序的列舉與關閉

2021-04-13 22:34:55 字數 940 閱讀 3334

後台服務要啟動一系列的子程序。當後台服務 關閉時需要將子程序進行關閉。但是在關閉子程序時為了避免錯殺漏殺可以通過程序的父程序來判斷。

首先獲得本服務的程序號

使用 getcurrentprocessid 獲得當前程序的id

使用 createtoolhelp32snapshot 、process32first 、process32next 來列舉當前所有程序,判斷當前被列舉的程序的父程序是否與當前程序的id相同。以此來判斷是否該關閉該程序。

示例**:(從類中直接摘出)

.h檔案  

// add by loken 20071108

#ifndef _prostatus_h

#define _prostatus_h

typedef struct tprocessstatusstprocessstatus;

#endif

stprocessstatus prostatus[256];

int ienumcnt;

dword dwcurrproid;

int processlist();

int terminateprocessfromid(dword dwid);

// end loken add

int cspservice::processlist()

int cspservice::terminateprocessfromid(dword dwid)

::closehandle(hprocess);

if(bret)

printf("%d 程序結束成功....../n/n/n/n",dwid);

else

printf("%d 程序結束失敗....../n/n/n/n",dwid);

return 0;

}關閉:

for (int i=0; i

程序處理 1,列舉程序,關閉程序

include stdafx.h include include tlhelp32.h int main int argc,char argv closehandle hsnapshot return 0 需要標頭檔案 tlhelp32.h。typedef struct tagprocessentr...

關於linux程序查詢 啟動 關閉記錄

ps efww grep w test.py grep v grep cut c 9 15 xargs kill 9說明 管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。ps efww 是檢視所有程序的命令。這時檢索出的程序將作為下一條命令 grep 的輸入,注意要結束其它...

php fpm程序關閉與重啟指令碼詳解

php fpm是乙個php fastcgi管理器,是只用於php的。php5.3.3已經整合php fpm了,不再是第三方的包了。php fpm提供了更好的php程序管理方式,可以有效控制記憶體和程序 可以平滑過載php配置,比spawn fcgi具有更多優點,所以被php官方收錄了。在.confi...