c语言 system函数结束进程问题

发布网友 发布时间:2022-04-21 20:45

我来回答

4个回答

热心网友 时间:2023-07-03 18:59

  system函数是通过cmd.exe来执行命令的
  因此无论taskkill是否成功,只要cmd.exe成功启动并结束,system就会返回成功
  因此要想获得taskkill是否成功,得用CreateProcess函数才行
  system返回整数,成功是返回0,其他则表示有问题
  但是这个成功是指执行cmd成功,并不一定指taskkill成功
  但是对于cmd中间自带的命令,system是可以获取相关命令的成功与否的
  比如dir del 等等

热心网友 时间:2023-07-03 18:59

system函数的返回值就是它执行程序的返回值
一般情况下0表示没错
返回-1表示出错

你直接检查system的返回值好了
int ret = system("TASKKILL /F /IM text.exe");
if(ret == -1) { /*出错*/ }

参考msdn来的:
http://msdn.microsoft.com/en-us/library/277bwbdz%28VS.71%29.aspx

c标准对这个函数的返回值并未定义,所以上面的说法是ms的方言,在其他平台上可能不是这样

热心网友 时间:2023-07-03 19:00

根据ANSI C规范,system返回值为int类型。成功调用时返回0,否则返回-1。system返回值可以用if判断。

热心网友 时间:2023-07-03 19:00

不会吧?!
如果找不到对应的进程,TASKKILL会输出提示信息的.更不会返回PID
有一种可能就是,在运行程序时已经结束你的TEXT.EXE进程
了,之后再去运行这条指令当然会提示没有找到.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com