zoukankan      html  css  js  c++  java
  • windows系统调用 进程终止

     1 #include "windows.h"
     2 #include "iostream"
     3 #include "stdio.h"
     4 using namespace std;
     5 
     6 static LPCTSTR q_szMutexName="w2kdg.ProcTerm.mutex.Suicide";
     7 
     8 HANDLE StartClone(){
     9     TCHAR szFilename[MAX_PATH];
    10     GetModuleFileName(NULL,szFilename,MAX_PATH);
    11 
    12     TCHAR szCmdLine[MAX_PATH];
    13     sprintf_s(szCmdLine,""%s" "child"",szFilename);14 
    15     STARTUPINFO si;
    16 
    17     ZeroMemory(reinterpret_cast<void*>(&si),sizeof(si));
    18     si.cb=sizeof(si);
    19     PROCESS_INFORMATION pi;
    20 
    21     BOOL bCreateOK=CreateProcess(
    22         szFilename,
    23         szCmdLine,
    24         NULL,
    25         NULL,
    26         FALSE,
    27         CREATE_NEW_CONSOLE,
    28         NULL,
    29         NULL,
    30         &si,
    31         &pi
    32         );
    33 
    34     if(bCreateOK){
    35         CloseHandle(pi.hProcess);
    36         CloseHandle(pi.hThread);
    37         return pi.hProcess;
    38     }
    39 
    40     else return INVALID_HANDLE_VALUE;
    41 }
    42 
    43 void Parent(){
    44     cout<<"Creating the child process and waited child process to quit."<<endl;
    45     HANDLE hchild=StartClone();
    46     if(hchild!=INVALID_HANDLE_VALUE)
    47     {
    48         WaitForSingleObject(hchild,INFINITE);
    49         cout<<"The child process had quited."<<endl;
    50 
    51     }
    52 
    53     else 
    54         cout<<"Create child process failed."<<endl;
    55 }
    56 
    57 
    58 void Child(){
    59     cout<<"Child id quiting"<<endl;
    60     Sleep(5000);
    61 
    62 }
    63 
    64 int main(int argc,char * argv[]){
    65     if(argc>1&&strcmp(argv[1],"child")==0){
    66         Child();
    67     }
    68     else{
    69         Parent();
    70     }
    71     return 0;
    72 
    73 }
  • 相关阅读:
    开发PHP扩展(一)
    ssh 使用技巧
    安装scribe
    PHP扩展中定义一个类
    PHP扩展的加载流程
    PHP扩展中访问全局变量$_POST,$_GET,$_SERVER等
    PHP的HashTable(一)
    PHP的HashTable(二)
    MVC ScriptBundle自定义排序。
    解决bootstrap和easyUI部分css类冲突问题。
  • 原文地址:https://www.cnblogs.com/593213556wuyubao/p/3733456.html
Copyright © 2011-2022 走看看