首页 > 后端开发 > php教程 > shell - PHP 结束 C程序循环

shell - PHP 结束 C程序循环

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-06 20:06:35
原创
991 人浏览过

<code>#include <stdlib.h>
#include <stdio.h>
#include <string.h>

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;
}</string.h></stdio.h></stdlib.h></code>
登录后复制
登录后复制

举例如上,在linux下开始运行此程序。
PHP端调用shell_exec();执行该程序后,如何终止该程序循环?

回复内容:

<code>#include <stdlib.h>
#include <stdio.h>
#include <string.h>

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;
}</string.h></stdio.h></stdlib.h></code>
登录后复制
登录后复制

举例如上,在linux下开始运行此程序。
PHP端调用shell_exec();执行该程序后,如何终止该程序循环?

通常来讲应该编译成动态库so交由脚本调用,而且这样的无限循环应该开线程,然后需要停止的时候直接杀掉线程就好了。

你这个C程序是一个常驻进程啊。要终止,就是要杀掉这个C程序。直接调kill命令。或者你这个C程序注册了信号,可以发信号终止。

本质上你就是PHP和C进程间通信。
你可查一下进程间通信IPC相关的技术文档了解。

当loop!=1的时候 就结束循环了

比较简单粗暴的方式,同样调用shell_exec(),"kill -9 $pid" 来终止这个程序

C代码改一下, loop=1; 改成变量的形式

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
vim c-x c-o 补全出现新的窗口
来自于 1970-01-01 08:00:00
0
0
0
合并HTML和C++:实现HTML与C++的结合
来自于 1970-01-01 08:00:00
0
0
0
C C++中如何获取本机所有的.exe文件的路径
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板