linux system运行多个程序,如何关闭

vuqrzk5w 2013-07-23 05:30:00
Windows有个winexe函数,可以用来执行另外一个程序,我记得是能返回另一个程序的句柄什么的,可以最后关闭那些运行起来的程序.
而linux,我只有用 system("./client 123 111 &");这种办法,一次性运行多个想要运行的程序.
(运行client的程序名为run). 但是关闭当前terminal,只关闭了run这个程序,没法关闭后台运行的一大堆client.怎么办呢?
...全文
357 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2013-07-24
  • 打赏
  • 举报
回复
引用 3 楼 dnvycumt3 的回复:
system函数包装了fork和exec函数,在外部无法获取system产生的子进程。最好的办法是自己实现system函数,在这个函数中可以获取到子进程的pid,然后向子进程发送信号就ok了。
++
酱油小龟 2013-07-23
  • 打赏
  • 举报
回复
system函数包装了fork和exec函数,在外部无法获取system产生的子进程。最好的办法是自己实现system函数,在这个函数中可以获取到子进程的pid,然后向子进程发送信号就ok了。
www_adintr_com 2013-07-23
  • 打赏
  • 举报
回复
向子进程发送 kill 信号吧
图灵狗 2013-07-23
  • 打赏
  • 举报
回复
用管道的方式试试,这里有个例子:


#include<stdio.h>
main()
{
FILE * fp;
char buffer[80];
fp=popen(“cat /etc/passwd”,”r”);
fgets(buffer, sizeof (buffer),fp);
printf(“%s”,buffer);
pclose(fp);
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧