为了账号安全,请及时绑定邮箱和手机立即绑定

求问,关于system函数结束进程的问题,麻烦大佬帮忙看看!

求问,关于system函数结束进程的问题,麻烦大佬帮忙看看!

DIEA 2021-07-23 19:15:10
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) { /*出错*/ }

查看完整回答
反对 回复 2021-07-29
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

system函数是通过cmd.exe来执行命令的
因此无论taskkill是否成功,只要cmd.exe成功启动并结束,system就会返回成功
因此要想获得taskkill是否成功,得用CreateProcess函数才行
system返回整数,成功是返回0,其他则表示有问题
但是这个成功是指执行cmd成功,并不一定指taskkill成功

但是对于cmd中间自带的命令,system是可以获取相关命令的成功与否的
比如dir del 等等

查看完整回答
反对 回复 2021-07-29
  • 2 回答
  • 0 关注
  • 467 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信