从某些PID c ++开始

时间:2018-05-04 21:23:45

标签: c++ pid

我试图在某个PID上启动批处理文件,或者获取PID启动的程序。我真的不知道该怎么做。

    system("start C:\\testing\\vw.bat");
    Sleep(2000); //1000 = 1s

执行此代码后,我需要关闭“vw.bat”,但不要关闭正在运行的其他批处理文件。

2 个答案:

答案 0 :(得分:0)

您可以使用系统相关的系统调用获取进程的PID。例如,在linux上,使用pidof。现在,请注意使用system()函数not recommended,以及其他实现您想要的内容的方法,例如spawning a child process,这样可以轻松杀死该进程。

答案 1 :(得分:0)

PROCESS_INFORMATION pi;
STARTUPINFO si{};
si.cb = sizeof(si);

BOOL success = CreateProcess("start C:\\testing\\vw.bat", NULL, NULL, NULL, TRUE, 0, NULL, "C:\\testing\\", &si, &pi);
if (success)
{
    int pid = pi.dwProcessId;
}