system("TASKKILL /F /IM text.exe");这个应该是结束text.exe进程的,但是无论有没有text.exe这个进程,都提示成功并且还有pid的值。要是自己运行cmd.exe,并执行TASKKILL /F /IM text.exe,确提示没有找到进程这个是为什么,高手回答下。。 还有一个问题system 有返回值么?返回值为几时命令执行成功?可以用if判断么?
2 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
system函数的返回值就是它执行程序的返回值
一般情况下0表示没错
返回-1表示出错
你直接检查system的返回值好了
int ret = system("TASKKILL /F /IM text.exe");
if(ret == -1) { /*出错*/ }
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
system函数是通过cmd.exe来执行命令的
因此无论taskkill是否成功,只要cmd.exe成功启动并结束,system就会返回成功
因此要想获得taskkill是否成功,得用CreateProcess函数才行
system返回整数,成功是返回0,其他则表示有问题
但是这个成功是指执行cmd成功,并不一定指taskkill成功
但是对于cmd中间自带的命令,system是可以获取相关命令的成功与否的
比如dir del 等等
添加回答
举报
0/150
提交
取消