草庐IT

sel_proc

全部标签

php - 使用 proc_open 时从 STDIN 管道读取

我想做一个网站,人们可以在线编译和运行他们的代码,因此我们需要找到一种交互方式让用户发送指令。其实首先想到的是exec()或者system(),但是当用户要输入某事时,这种方式就不行了。所以我们必须使用proc_open()。比如下面的代码intmain(){inta;printf("pleaseinputainteger\n");scanf("%d",&a);printf("HelloWorld%d!\n",a);return0;}当我使用proc_open()时,像这样$descriptorspec=array(0=>array('pipe','r'),1=>array('pipe

php - PHP proc_open 会阻止 Web 请求吗?

默认情况下,在Linux上,通过proc_open()创建进程是否会使PHP脚本在生成的进程终止之前不会终止?我不想这样,我立即关闭了进程句柄。proc_open本身不会阻塞,这很清楚。但是整体HTTP请求执行情况如何? 最佳答案 我周末有时间,所以我对*nix系统上的proc_open()做了一些研究。虽然proc_open()不会阻止PHP脚本的执行,即使shell脚本没有在后台运行,如果您不自己调用它,PHP会在PHP脚本完全执行后自动调用proc_close()。所以,我们可以想象我们在脚本末尾总是有一行proc_close

php - 为什么 PHP 在向以 proc_open 启动的进程写入 4096 字节后会挂起?

对于任何想知道的人来说,在将其全部放置几个小时后,它现在可以完美运行了。我正在尝试使用PHP将视频文件传递给VLC,作为某人即将进行的项目提案的概念证明。我已经通过创建一个小于4KB的文件(灰色,持续10秒)并测试我的脚本来证明它是有效的,但我很好奇首先发生这种情况的原因。这里有一个示例脚本来理解我的意思:$filepath='Path/to/your/video';$vlcpath='Path/to/your/VLCexecutable';$descriptorspec=array(0=>array("pipe","r"),//stdin1=>array("pipe","w"),//

android - 读取链接 ('/proc/self/fd/21' ) 失败 : Permission denied [fd=21] error in Android 6 after adding Admob module to Appcelerator app

我正在appceleratorstudio中创建应用程序。在我向其添加admob模块之前,它在我的Android6Lenovoa7000上正常运行。现在我收到这些错误:[ERROR]:linker:readlink('/proc/self/fd/21')failed:Permissiondenied[fd=21][ERROR]:linker:warning:unabletogetrealpathforthelibrary"/data/app/com.techintegrity.ekko-1/lib/arm/libti.admob.so".Willusegivenname.[ERROR]

android - 从内核模块中的 proc 文件访问数据

我需要访问Android内核模块中的一些proc文件。基本上我需要cat命令中显示的信息,例如cat/proc/uptime。但是我需要以编程方式进行。我尝试使用proc_fs函数,但它对我来说有点模糊,通常示例是创建一个proc文件然后读取它,仅此而已。我需要实际使用proc文件中的数据。我也尝试了很好的fopen,但它似乎不适用于模块。我该怎么做?我真的是新手。我正在研究goldfishAndroid内核。谢谢。 最佳答案 Procfs是一个内存文件系统。它是用户空间获取信息并将(配置)信息放入内核数据结构的接口(interfa

android - 如何在 Android 上解释/proc/meminfo 的值?

我正在编写一个需要测量当前可用/已用RAM的Android应用程序。搜索此站点显示了多个具有相似主题的主题,通常建议两种方法:方法一:MemoryInfomi=newMemoryInfo();ActivityManageractivityManager=(ActivityManager)getSystemService(ACTIVITY_SERVICE);activityManager.getMemoryInfo(mi);longavailableMegs=mi.availMem/1048576L;totalMegs=mi.totalMem/1048576L;//availablesi

android - 2048 kb 的游标窗口分配失败。 # Open Cursors=1 (# cursors opened by this proc=1)

我正在制作一个使用数据库的Kiosk应用程序。该应用程序一直在前台运行。该应用程序有许多使用一个共享DataBaseHelper实例的线程。该应用程序运行完美,但大部分时间在5或6小时后,我遇到这些异常,然后应用程序崩溃:E/DataBaseHelper﹕Cursorwindowallocationof2048kbfailed.#OpenCursors=1(#cursorsopenedbythisproc=1)E/CursorWindow﹕CouldnotallocateCursorWindow'/data/user/0/com.kios.frm/databases/YadProjec

.net - In-Proc SxS 打开托管代码中的 shell 扩展?

以前推荐的是"Donotwritein-processshellextensionsinmanagedcode."但使用.NETFramework4和In-ProcessSide-by-Side不在托管代码中编写shell扩展的主要原因应该得到解决。话虽如此,我有三个问题。现在可以在托管代码中编写shell扩展吗?在托管代码中编写shell扩展有哪些问题(如果有的话)?在非托管代码中编写shell扩展的原因可能是什么? 最佳答案 查看这篇MSDN文章:使用.NETFramework4(C#、VB.NET)编写WindowsShell

PHP proc_open 不起作用 - 给我 "Missing handle qualifier in array"

Warning:proc_open():MissinghandlequalifierinarrayinC:\...\updatedots.phponline102我正在尝试打开记事本并在2秒后将其关闭。这是我的代码:$descriptorspec=array(0=>array("pipe"=>"r"),1=>array("pipe"=>"w"),2=>array("file"=>"logs/errors.txt"));//Createchildandstartprocess$child=array("process"=>null,"pipes"=>array());$child["pr

PHP 在 proc_open() 之后没有立即返回

我有2个PHP脚本,分别是caller.php和task.php。caller.php使用JQueryAjax请求调用,然后caller.php启动一个进程在后台运行PHP文件,如下面的代码JQueryAjax请求varxhr=$.ajax({url:"https://www.example.com/caller.php",type:"post",data:""}).done(function(){}});调用者.php$cmd='phptask.php&';//Tocalltask.phpinbackground$descriptorspec=array(0=>array('pipe