解决方案 »

  1.   

    你的意思是把log重定向么?
    比如system("top -b -d 1 -n 100 > /root/top.log“); 输出top 信息,每次间隔1s,输出100次,重定向到top.log。但是我运行完没有看到top.log。
    这是测试代码:<!DOCTYPE html>
    <html>
    <body><?php
    echo "host name: ";
    echo shell_exec('uname -n');
    echo "<br>";
    ?><?php echo $_GET["PERF_HOME"]; echo "<br>"; ?>
    <?php echo $_GET["TIME_SPAN"]; echo "<br>"; ?>
    <?php echo $_GET["OUTPUT_HOME"]; echo "<br>"; ?>
    <?php echo $_GET["DATABASE"]; echo "<br>";  ?><?php
    system("top -b -d 1 -n 100 > /root/top.log");
    ?>
    </body>
    </html>
    难道您说的是用popen么?能详细一点么,php我接触的比较少
      

  2.   

    权限够 执行 <?php
    system("top -b -d 1 -n 100 > /root/top.log");
    ?>  是没任何问题的,并且也正常的产生了日志文件.你的是centos吗?ubuntu 下 一切正常
      

  3.   

    问题描述的不够清楚,是这样的,我希望通过php启动一个异步的linux进程来执行我的任务,我只需要拿到进程pid就好了。如何实现
      

  4.   

    我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了?
      

  5.   

    我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了?我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了?
    root@wcao-OptiPlex-380:/var/www# php -version
    PHP 5.3.10-1ubuntu3.13 with Suhosin-Patch (cli) (built: Jul  7 2014 18:52:09) 
    Copyright (c) 1997-2012 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
      

  6.   

    我的是centos 6.5, 我在ubuntu 12.0LTS上跑,为啥浏览器直接下载.php文件了?直接下载PHP文件 说明你的WEB 服务端并没有正常的搭建起来...
      

  7.   

    恩,ubuntu上装了php, apache2没有重启,重启后就正常了。
    还是那个问题啊,如果是jsp的话我倒是可以new Thread(runnable)这种方式去启动一个进程,但是php里不知道咋整唉
      

  8.   

    我找到解决办法了,php-resque
    用这个框架可以处理request的后台任务。
      

  9.   

    给你推荐一个Linux/Unix 命令行工具的包:ShellWrap 库
    require 'ShellWrap.php';
    use \MrRio\ShellWrap as sh; 
     
    //列出当前文件下的所有文件
    echo sh::ls(); 
     
    //检出一个git分支
    sh::git('checkout', 'master'); 
     
    //你也可以通过管道把一个命令的输出用户另一个命令
    //下面通过curl跟踪位置,然后通过grep过滤’html’管道来下载example.com网站
    echo sh::grep('html', sh::curl('http://example.com', array(
        'location' => true
    ))); 
     
    //新建一个文件
    sh::touch('file.html'); 
     
    //移除文件
    sh::rm('file.html'); 
     
    //再次移除文件(这次失败了,然后因为文件不存在而抛出异常)
    try {
        sh::rm('file.html');
    } catch (Exception $e) {
        echo 'Caught failing sh::rm() call';
    }
      

  10.   

    一个典型的重启网卡发给你参考下!!!$handle = popen ( "sudo -u \\#0 /sbin/service network restart 2>&1", "r" );
    if ($handle) {
    $msg = "";
    while ( ! feof ( $handle ) ) {
    $msg .= fgets ( $handle, 1024 );
    }
    pclose ( $handle );
    return true;
    }
    return false;
      

  11.   

    啊啊啊。。我二逼了。下载下来不会用啊。
    git clone https://github.com/MrRio/shellwrap
    路径在: /root/git/shellWrap
    然后怎么把它安装到我的php库里去啊
    我的php文件都放在/var/www目录下
    在php里引用shellWrap,但是没用
    <?php
    require_once 'vendor/autoload.php';
    use MrRio\ShellWrap as sh;
    echo sh::ls();
    ?>
    这个是神码意思?求指教!