【问题标题】:Jquery Button OnClick Run System CommandJquery Button OnClick 运行系统命令
【发布时间】:2023-03-28 22:41:01
【问题描述】:

谁能提供一个点击按钮时在后台运行系统命令的简单示例。

例如:当它被点击时:

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

运行

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

谢谢

【问题讨论】:

  • 我猜该示例将涉及 ajax 调用并使用 PHP 运行该命令。您可能应该尝试自己弄清楚,这并不难,然后再次询问何时以及是否失败。

标签: php jquery button click


【解决方案1】:

出于安全原因,浏览器中的非特权 javascript 无法运行或执行程序。您必须对此具有 shell 访问权限。

向我们提供有关您的环境的更多详细信息。 你也可以看看这个。这可能会有所帮助。 http://www.sitepoint.com/take-command-ajax/

【讨论】:

    【解决方案2】:

    html:

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

    js:

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

    运行.php:

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

    【讨论】:

    • 谢谢。一旦 run.php 被调用,我可以得到它被调用的尾部进程的 pid 吗?我的原始示例将 pid 写入 $var。
    • 现在它正在回显 PID 并在控制台记录它?
    【解决方案3】:

    你可以试试这个。在 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 $!');
    

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      • 2014-12-07
      • 2017-10-13
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多