2013-06-05 226 views
1

任何人都可以提供一个简单的例子,当单击按钮时在后台运行系统命令。Jquery Button OnClick运行系统命令

如:这个被点击时:

<button onclick="startprocess">Start</button> 

运行

$var = system('tail -f /mail.log > /download/mail.log 2>&1 & echo $!');

感谢

+0

我猜的例子包括Ajax调用和运行使用PHP命令。你应该尝试自己弄清楚,这并不难,然后再次询问何时和如果你失败。 – adeneo

回答

2

HTML:

<button id="run_system">Start</button> 

JS:

$('#run_system').on('click', function() { 
    $.ajax({ 
     url : 'run.php' 
    }).done(function(data) { 
     console.log(data); 
    }); 
}); 

run.php:

<?php 
    echo shell_exec('tail -f /mail.log > /download/mail.log 2>&1 & echo $!'); 
?> 
+0

谢谢。一旦调用了run.php,我可以获得它所调用的尾进程的PID吗?我最初的例子写了$ var的pid。 – JeffVader

+0

现在它回显了PID返回和控制台日志记录吗? – adeneo

0

在浏览器无法运行或执行程序中出于安全原因无特权的JavaScript。你必须有shell访问权限。

给我们更多关于您的环境的细节。 你也可以看看这个。这可能有帮助。 http://www.sitepoint.com/take-command-ajax/

0

你可以用这个试试。在index.php中,对命令页面进行ajax调用。它会执行它并返回响应。

的index.php

<script> 
    function startprocess() 
    { 
     jQuery.ajax({ 
       type:'post', 
       url:'command.php', 
       data:[], 
       dataType:'json', 
       success: function(rs) 
       {} 
       failure : function(rs) 
       {} 
     }); 
    } 
    </script> 

<button onclick="startprocess();">Start</button> 

command.php 

system('tail -f /mail.log > /download/mail.log 2>&1 & echo $!');