首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

linux system运行多个程序,怎么关闭

2013-08-16 
linux system运行多个程序,如何关闭Windows有个winexe函数,可以用来执行另外一个程序,我记得是能返回另一

linux system运行多个程序,如何关闭
Windows有个winexe函数,可以用来执行另外一个程序,我记得是能返回另一个程序的句柄什么的,可以最后关闭那些运行起来的程序.
而linux,我只有用 system("./client 123 111 &");这种办法,一次性运行多个想要运行的程序.
(运行client的程序名为run). 但是关闭当前terminal,只关闭了run这个程序,没法关闭后台运行的一大堆client.怎么办呢?
[解决办法]
用管道的方式试试,这里有个例子:



#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);
}

[解决办法]
向子进程发送 kill 信号吧
[解决办法]
system函数包装了fork和exec函数,在外部无法获取system产生的子进程。最好的办法是自己实现system函数,在这个函数中可以获取到子进程的pid,然后向子进程发送信号就ok了。
[解决办法]
引用:
system函数包装了fork和exec函数,在外部无法获取system产生的子进程。最好的办法是自己实现system函数,在这个函数中可以获取到子进程的pid,然后向子进程发送信号就ok了。


++ 

热点排行