在目前的这个项目里,整个软件分别被3三家公司所开发,我负责基于BSP的底层协议开发。调试底层接口的时候,每次reboot后,老是要先kill一遍涉及到的thread,毕竟他们会占有我要调试的资源。于是就搜索在C语言内,如何kill掉这些程序。看来看去,感觉还挺繁琐的。于是搜了搜如何调用shell脚本来杀。于是就有下面这片文章:
https://blog.csdn.net/qq_21792169/article/details/51045846
我参考的是第一个方法,就是在C语言中,调用system函数。方法如下:
sleep(1);
system("bash /root/workspace/modbus/pkill.sh");
pkill.sh差不多长这样:
killall xxx
killall xxx
pkill -f xxx
pkill -f xxx
pkill -f xxx
echo "All thread are killed"
在程序执行前,使用ps -A先查看一下所有的进程,程序执行以后,再使用ps -A看一下所有的进程,发现确实是有效果的。这样我写起测试代码来,就简单很多了。