cost 388 ms
WEXITSTATUS 在成功的情况下返回 popen() 的无效退出状态 - WEXITSTATUS returning invalid exit status of popen() on success case

我正在尝试使用popen()获取子进程的存在状态。 案例1:调用函数,shell命令返回错误。 这按预期工作。 func("du -sh _invalid_file_"); 输出: 这里的子存在状态与在bash中运行的du的退出值相同。 情况2:(错误情况)使用以下shell命令调用函 ...

如何在守护进程中使用 popen() 和 pclose() 获取通过 pipe 执行的 shell 命令的正确退出代码? - How to get the correct exit code of a shell command executed via pipe using popen() and pclose() in a daemonized process?

我正在编写一个 C++ 守护进程,它将在 Linux 嵌入式系统上运行并执行 shell 命令。 我正在尝试获取命令 (stdout) 的 output 以及所述 shell 命令的退出代码。 我遵循了以下关于如何在使用管道时获取返回值或更确切地说是 shell 命令的退出代码的问题: How t ...

为什么这个 pclose() 实现会随着 ECHILD 提前返回,除非调用在 popen() 之后延迟? - Why does this pclose() implementation return early with ECHILD unless invocation is delayed after popen()?

我最近想弄明白如何 fork/exec 子进程并重定向 stdin、stdout 和 stderr,通过这些,我编写了自己的popen()和pclose()类函数,名为my_popen()和my_pclose() ,灵感来自苹果的popen() 和 pclose() 开源实现。 通过人工检查——例 ...

fscanf 后 pclose 时出现分段错误 - Segmentation fault when pclose after fscanf

我尝试获取丢失的数据包数(来自树莓上的 ping 命令),用于在路由器上进行 sim 切换。 我试图用底部的代码来做到这一点(减少到导致错误的部分),但是当我尝试释放(pclose)缓冲区时,我遇到了分段错误。 我试过 valgrind,我得到了这个: 在 0x490FBE0 处读取大小 4 无效 ...

从popen()的FILE *中读取的输出是否在pclose()之前完成? - Is output read from popen()ed FILE* complete before pclose()?

pclose()的手册页中说: pclose()函数等待关联的进程终止,并返回由wait4(2)返回的命令的退出状态。 我的感觉是,如果由popen()创建的关联FILE*用"r"类型打开以便读取command的输出,那么直到调用pclose() 之后 ,您才能真正确定输出是否 ...

Pclose似乎使过程失败 - Pclose seems to make process fail

这个问题是这个问题的后续内容: 从另一个程序控制C守护程序 我的目标是从另一个程序控制守护进程的执行。 守护程序的代码非常简单。 我已经为此守护程序实现了SystemV初始化脚本,如下所示 从命令行使用此脚本控制守护程序的执行效果很好。 因此,现在的目标是使用另 ...

使用“ ps aux”命令的pclose,C ++ popen管道无法正确关闭 - C++ popen pipe doesn't close correctly with pclose for “ps aux” command

我正在运行MacOS,想要执行“ ps aux”命令并通过我的应用程序获取其输出。 我写了一种使用popen函数执行命令的方法: 我有一个循环,不断运行exec(“ ps aux”)函数。 问题是来自popen的管道没有关闭,这是我从终端使用“ lsof”命令检查过的。 20秒钟左 ...

如何让脚本在后台运行 - 不工作 - How can I keep a script running in the background-not working

我正在尝试启动 Ratchet 的 chat-server.php 文件,该文件需要从 php 文件启动套接字服务器,以便每当客户端访问该页面时,服务器都会启动,但不会发生。 这个 chat-server.php 文件需要从终端运行,但我试图在用户访问时从主页运行它。 文件结构 ./inde ...

有没有办法测试pclose()是否会成功? - Is there a way to test whether pclose() will succeed?

在我的C ++应用程序中,我看到一个挂起的pclose(),因为管道的进程挂起并且从未退出。 无论如何我可以做一些像select()来测试pclose()是否会因为子进程已经完成而返回? 如果可能的话,我宁愿不做fork()而不是popen()。 如果fork()是唯一的解决方案,是否有使 ...

做一个popen(),将FILE *指针放在一个fstream中,那pclose()呢? - Do a popen(), put the FILE* pointer in an fstream, what about the pclose()?

所以...我启动了另一个程序,该程序从程序中接受一些输入(它也可以相反)。 某种东西: 现在,我可以将f放在fstream中,这样我就可以使用该流(由于我的程序是C ++,这似乎是明智的选择。) 到这里为止,我很好。 现在到了我完成向子进程发送数据的地步了。 我想要的只是关 ...

PHP-Windows后台命令有效,但仍在等待后台进程完成 - PHP - Windows background commands working but still waiting on background process to finish

我尝试了多种方法从另一个PHP脚本启动后台php脚本。 我需要创建一个用于下载的数据库文件的zip文件。 我已经设置它可以立即下载单个文件,但是如果需要压缩文件,我希望启动一个后台进程,该进程将通过电子邮件发送到zip文件的链接。 该过程有效,但是原始脚本仍在等待该过程完成。 我尝试了以 ...

如何获取popen创建的processID? - How can I get the processID created by popen?

我必须执行命令并返回类似cmd的结果。 我只是找到满足此要求的唯一方法。我使用popen函数执行命令并返回结果,然后使用pclose()函数关闭流和进程。 但是,如果命令永无止境,例如“ ping 8.8.8.8 –t”,则无法使用pclose()函数关闭进程。 如果我通过任务 ...

用popen()打开的文件描述符上的pclose()返回errno 10(没有子进程) - pclose() on file descriptor opened with popen() returns errno 10 (No child processes)

我正在运行linux,我尝试执行以下操作: 在当前目录上运行ls(使用popen) 将结果输出到缓冲区(使用来自管道描述符的fread) 关闭管道(使用pclose)。 一切正常(缓冲区使用ls结果正确填充)但是当我检查pclose()结果时它返回-1并且err ...

强制文件描述符关闭以便pclose()不会阻塞的方法? - Way to force file descriptor to close so that pclose() will not block?

我正在使用popen()创建一个管道,并且该进程正在调用第三方工具,在极少数情况下我需要终止它。 如果我只是抛出异常并展开堆栈,我的展开会尝试在第三方进程上调用pclose(),而第三方进程的结果我不再需要。 但是,pclose()永远不会返回,因为它在Centos 4上使用以下堆栈跟 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM