- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如果您发现这个问题,我很抱歉(再次)菜鸟。但我在 proc_open 上确实有问题。
我有一个C 文件,我想使用proc_open()
运行它并从文本文件中读取输入。我能够获取输入并将其提供给可执行文件。问题是我只是对 array of fetched strings
进行了硬编码。
PHP 代码片段:
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "error.log", "a")
);
$process = proc_open('C:/xampp/htdocs/ci_user/add2', $descriptorspec, $pipes);
sleep(1);
if (is_resource($process)) {
//Read input.txt by line and store it in an array
$input = file('C:/xampp/htdocs/ci_user/input.txt');
//Feed the input (hardcoded)
fwrite($pipes[0], "$input[0] $input[1]");
fclose($pipes[0]);
while ($s = fgets($pipes[1])) {
print $s."</br>";
flush();
}
fclose($pipes[1]);
}
add2.c
#include <stdio.h>
int main(void) {
int first, second;
printf("Enter two integers > ");
scanf("%d", &first);
scanf("%d", &second);
printf("The two numbers are: %d %d\n", first, second);
printf("Output: %d\n", first+second);
}
管道上的流[1](printf 的)
Enter two integers > The two numbers are: 8 2
Output: 10
问题关于如何将“$input”元素作为输入布局是否有“动态方式”
fwrite($pipes[0], "$input[0] $input[1]");
或者是否有更方便的方法从文件获取输入并在 proc_open()
运行的 C 可执行文件中存在 scanf
时提供输入。
(顺便说一句,对于那些在 proc_open()
中遇到麻烦的人,尤其是像我这样的初学者,我希望我的代码能以某种方式帮助你。这是我第一次尝试几次后让它运行所以我的代码很简单。)
对于专业人士,请帮助我。 :( 谢谢!
最佳答案
关于php - 使用 proc_open() 在 PHP 中运行 C 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19021961/
这是我的代码 $descriptorspec = array( 0 => array("pipe", "r") ); $call_mp4 = "ffmpeg command ...... "; $op
我正在尝试将lighttpd编译为处理器arm的静态,以便可以在Android设备上运行。我正在用交叉编译器arm-musl-linuxeabi编译lighttpd,我在https://bitbuck
这是我想要实现的目标:打开一个 shell(korn 或 bash,没关系),从那个 shell,我想打开一个 ssh 连接(ssh user@host)。在某些时候,可能会提示我输入密码,或者可能会
我正在尝试使用 proc_open() 运行进程功能。正如页面上所指定的 - 我提供了自定义环境变量并尝试打印出来。它显示了我提供的所有变量+始终为 3 个变量:“SLVL”、“PWD”、“_=”。我
我想调用proc_open在后台执行一个脚本,后台进程会在几秒后终止。基本上,该脚本是一个 C/Java/Python 脚本,它将编译并运行用户提交的代码,因此我希望该进程能够在一段时间后终止。 我想
我有一个实用函数,用于通过 CLI(cmd、bash 等)执行程序。它返回一个包含 3 个项目的数组:STDOUT、STDERR 和 EXIT CODE。 到目前为止,它运行良好,没有出现问题。事实上
我正在编写可在 *nix 系统下运行的 php 代码。我需要在 php 代码中调用带有 5 个参数的 python 脚本。一些争论是用户输入,所以可能有任何字符。我不知道如何将参数传递给脚本。我将如何
以下脚本监视 /dev/shm/test 是否有新文件并实时输出有关它的信息。 问题是当用户关闭浏览器时,inotifywait 进程仍然打开,等等。 有什么办法可以避免这种情况吗? array("
我目前正在开发一个在线程序。我正在编写一个 php 脚本,它在命令行中使用 proc_open() (在 Linux Ubuntu 下)执行命令。到目前为止,这是我的代码: array("pipe"
我正在使用带有 pdftk 的 proc_open 来用数据预填充一些表格,这工作得很好,但我不想将结果保存到文件然后读回文件,而是直接打印文件.我有这个工作,所以我没有任何问题。但我想将 proc_
我有一个 PHP 脚本,我想从 PHP 脚本调用一个用 C 编写的进程。有很多方法可以做到这一点(系统,执行...),但是选择函数proc_open。有了这个,我可以使用 C 进程在 stdin 和
我正在尝试使用 proc_open(需要双向支持)调用 C++/Python 文件。 在做了一些在线研究后,我发现创建了这段代码:(我首先用 c++ 尝试,失败后我也尝试了 python) PHP:
我正在运行一个sh 脚本,它通过ubuntu服务器上的php运行java进程。我正在使用 proc_open 来运行该进程。通常工作流程如下: 请求页面 -> 脚本运行(直到完成)-> 结果页面。 在
我在 php 中使用 proc_open 来启动一个子进程并来回发送数据。 有时我想等待进程结束并检索退出代码。 问题是如果进程已经完成,我对proc_close 的调用返回-1。对于 proc_cl
我有 2 个 PHP 脚本,分别是 caller.php 和 task.php。 caller.php 使用 JQuery Ajax 请求调用,然后 caller.php 启动一个进程在后台运行 PH
我有一个 PHP 脚本,我在其中使用 proc_open() 创建了一个新进程。它执行了大约 2 小时,最后我有一个 proc_close()。 有时我需要在中间停止这个进程,我如何杀死/发出信号以停
当尝试使用 ffmpeg 将 wmv 文件(转换为 flv)转换为 flv 时,我在 Windows 上遇到了 proc_open 问题,但我怀疑我会遇到每当某些情况发生时,都会发生相同的情况。 基本
所以我用 $process = proc_open("my_process", $descriptors, $pipes); 打开一个进程 然后我使用 fwrite($pipes[0], "some_
在 PHP 中有一个方便的函数叫做 proc_open .它可用于调用可执行文件,将其 stdin、stdout 和 stderr 作为管道打开。 这个函数在 C++ 中有一个很好的跨平台版本吗?唯一
考虑这个示例脚本: STDIN, 1 => STDOUT, 2 => STDERR), $pipes); fgetc(STDIN); 当 /bin/sh 符号链接(symbolic link)到 /
我是一名优秀的程序员,十分优秀!