Heim > Backend-Entwicklung > PHP-Tutorial > shell - PHP 结束 C程序循环

shell - PHP 结束 C程序循环

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 20:06:35
Original
932 Leute haben es durchsucht

<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>
Nach dem Login kopieren
Nach dem Login kopieren

举例如上,在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>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

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

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

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

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage