请问:如何在一个进程中杀掉另一个进程?急!!

我采用的办法是:system(“slay process1”); //process1为待杀的进程名
执行后,并未杀掉process1。
请教各位高手:以上方法有问题吗?如果杀掉后,process1的资源能被释放吗?
是否有其他更好的方法啊?

谢谢大家了,祝大家 节日快乐! :unamused:

通常的情况是,你的程序知道process1的进程号(process id),用kill()向这个进程号发特定信号(SIGTERM, SIGQUIT),被指定的进程通常可以退出。

如果用system()的话,首先要保证/bin/sh的存在,另外建议用"/bin/slay process1"保证不受环境影响。

最后,所有这些都只是向进程发一个“结束请求”。有许多情况可以导致进程收到请求也不退出。

如果进程退出了,所有的资源都会被释放。

之前slay process1不成功的原因找到了,原来是sh类型的问题。
我之前用的shell是uesh,命令是“sh=uesh”后来我改成“sh=sh”就没问题了。
是不是uesh不包含slay命令啊, :wink:
多谢xtang和大家!!