shell - PHP 结束 C程序循环
<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; 改成变量的形式

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
