shell - PHP 结束 C程序循环
程序员文章站
2022-05-20 08:46:15
...
#include
#include
#include
int loop;
void Stoploop(void){
loop=0;
}
int main(int argc, char *argsv[]){
int i;
loop=1;
while(loop==1){
printf("%d/n",i);
i++;
}
return 0;
}
举例如上,在linux下开始运行此程序。
PHP端调用shell_exec();执行该程序后,如何终止该程序循环?
回复内容:
#include
#include
#include
int loop;
void Stoploop(void){
loop=0;
}
int main(int argc, char *argsv[]){
int i;
loop=1;
while(loop==1){
printf("%d/n",i);
i++;
}
return 0;
}
举例如上,在linux下开始运行此程序。
PHP端调用shell_exec();执行该程序后,如何终止该程序循环?
通常来讲应该编译成动态库so交由脚本调用,而且这样的无限循环应该开线程,然后需要停止的时候直接杀掉线程就好了。
你这个C程序是一个常驻进程啊。要终止,就是要杀掉这个C程序。直接调kill命令。或者你这个C程序注册了信号,可以发信号终止。
本质上你就是PHP和C进程间通信。
你可查一下进程间通信IPC相关的技术文档了解。
当loop!=1的时候 就结束循环了
比较简单粗暴的方式,同样调用shell_exec(),"kill -9 $pid" 来终止这个程序
C代码改一下, loop=1; 改成变量的形式
下一篇: python os模块功能和方法总结
推荐阅读
-
一个shell for循环与case结合的脚本(监控程序状态)
-
用PHP和Shell写Hadoop的MapReduce程序
-
利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
-
Shell实现程序造死循环的几种方法示例
-
一个shell for循环与case结合的脚本(监控程序状态)
-
利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
-
php和asp利用Shell.Application来执行程序的代码
-
用PHP和Shell写Hadoop的MapReduce程序
-
【C++】(七)循环结构的程序设计
-
第5章 简单的C程序设计——循环结构程序设计