如何让iOS运行子流程?

时间:2014-09-15 15:48:08

标签: php ios ipad

我正在为iOS编写一个应用程序,它将启动php二进制文件作为子进程。

使用以下代码:

NSString * command = @"/bin/sh -c '";
command = [command stringByAppendingString:[BibleditPaths php]];
command = [command stringByAppendingString:@" -v' > /tmp/php.txt 2>&1"];
int output = system ([command UTF8String]);
NSString* msg = [@(output) stringValue];
NSLog(msg, @"");

可以从命令行在越狱的iPad上启动php二进制文件。这是输出:

PHP 5.4.31 (cli) (built: Aug 19 2014 11:06:21) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

从上面的代码启动php二进制文件时,iOS会发送SIGKILL信号。 php二进制文件不会运行或产生任何输出。

/ bin / sh产生此输出:

sh: line 1:  2806 Killed: 9               /bin/sh -c '/var/mobile/Applications/DFE552CC-ECBE-4A73-82CF-24870E5D9F62/Library/usr/local/bin/php -v' > /tmp/php.txt 2>&1
2014-09-15 17:33:41.676 PHPRunner[2804:60b] 35072

如何让iOS成功运行此流程?

1 个答案:

答案 0 :(得分:0)

此问题发布在Apple iOS开发论坛(https://devforums.apple.com/index.jspa)上。

那里的回应是:

" iOS上没有任何支持(或应用程序沙箱允许)。"

随后该问题已从论坛中删除。

我在这里发布答案,以便为公众保存信息。