Убить скрипт python, который выполняется в файле PHP - PullRequest
0 голосов
/ 02 апреля 2020

Прежде всего, я новичок в PHP.

У меня есть веб-страница с двумя кнопками - одна для запуска сценария python, а другая для остановки или уничтожения этого сценария. Проблема в том, что когда я запускаю скрипт, а затем пытаюсь убить его другой кнопкой, он продолжает работать и его невозможно убить.

Может ли кто-нибудь помочь мне, как я могу убить скрипт python что выполняется веб-страницей?

Вот мой PHP код:

<html>
<form method="GET" action="index.php"> 
<form action="index.php" method="POST">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<button type="button" onclick="run()">execute</button>
<button type="button" onclick="kill()">kill</button>
<script>
function run(){
    $.ajax({
        url:"index.php",
        type:"GET",
        data:"run",
    });
}
function kill(){
    $.ajax({
        url:"index.php",
        type:"GET",
        data:"stop",
    });
}
</script>

  <?php
//Motors Outputs
    system("gpio -g mode 11 out"); //EN A Right Motor
    system("gpio -g mode 9  out"); //IN 1
    system("gpio -g mode 10 out"); //IN 2
    system("gpio -g mode 22 out"); //IN 3
    system("gpio -g mode 27 out"); //IN 4
    system("gpio -g mode 17 out"); //EN B Left Motor(Left on Robot)
    system("gpio -g mode 21 out"); //LED OUTPUT

if(isset($_GET['run'])){
      $gpio_on = exec("sudo python /var/www/html/web/forward.py > /dev/null 2 >/dev/null &");

     }


else if(isset($_GET['stop']))
        {



                    echo " <center>  Your Robot movment was stopped";
                    $gpio_stop = system("gpio -g write 11 0");
                    $gpio_stop = system("gpio -g write 9  0");
                    $gpio_stop = system("gpio -g write 10 0");
                    $gpio_stop = system("gpio -g write 22 0");
                    $gpio_stop = system("gpio -g write 27 0");
                    $gpio_stop = system("gpio -g write 17 0");

        }   
    ?>
</form>
</form>
</html>
...