我试图在某个PID上启动批处理文件,或者获取PID启动的程序。我真的不知道该怎么做。
system("start C:\\testing\\vw.bat");
Sleep(2000); //1000 = 1s
执行此代码后,我需要关闭“vw.bat”,但不要关闭正在运行的其他批处理文件。
答案 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;
}