我正在创建一个必须执行重要任务的程序 - 它可能(很少)与用户可能无意中启动的另一个程序(假设是a.exe)存在资源冲突。
在我做其余的工作之前,我想做的是杀死a.exe,如果它正在运行
有没有办法阻止其他程序/进程从c ++(在Windows下运行)运行?
我希望美妙的提升中可能有某些东西......
谢谢。
答案 0 :(得分:3)
如果您确定图片名称为a.exe
,则非常简单:
system("taskkill /F /IM a.exe >nul 2>&1");
答案 1 :(得分:1)
假设您正在使用Windows。
您可以使用.NET方法。我会给你发一个帖子。 https://stackoverflow.com/a/116098/1424790
如果您需要,我可以将帖子翻译成C ++(但我需要一些时间)。
答案 2 :(得分:1)
这取决于,如果您正在谈论Windows,那么您可以使用已经说明的taskkill
,或者您可以使用kernel32.dll的TerminateProcess
方法。
更多信息 - http://msdn.microsoft.com/en-us/library/windows/desktop/ms686714(v=vs.85).aspx
如果您使用的是* nix,就像使用 kill
中的POSIX signal.h
方法一样简单。
更多信息 - http://linux.die.net/man/2/kill
oops,只是正确阅读提到Windows的问题