Hướng dẫn stop php script running background - dừng tập lệnh php chạy nền

Tôi đã bắt đầu quá trình này (Time.php)


Nhưng bây giờ tôi muốn ngăn chặn nó. Nó gửi hàng trăm thư đến gmail a/c của tôi. Đó là trên một máy chủ web nơi tôi không thể khởi động lại nó để tiêu diệt quy trình.

Có cách nào để thực hiện một tệp khác để tiêu diệt quy trình, hoặc làm thế nào để tôi đi về?

Hướng dẫn stop php script running background - dừng tập lệnh php chạy nền

Hỏi ngày 12 tháng 12 năm 2012 lúc 19:49Dec 12, 2012 at 19:49

5

Nếu bạn không có quyền truy cập shell, thì cách duy nhất là yêu cầu quản trị máy chủ giết chết quy trình.

Điều đó đang được nói, có một cách dễ dàng để thiết lập một tập lệnh và cho phép nó bị hủy khỏi bất kỳ tập lệnh nào khác trên cùng một máy chủ, như sau:


Đã trả lời ngày 4 tháng 12 năm 2014 lúc 14:43Dec 4, 2014 at 14:43

Eric Peric pEric P

5784 Huy hiệu bạc9 Huy hiệu Đồng4 silver badges9 bronze badges

2

Tôi cho rằng bạn cũng không có quyền truy cập vỏ. Tôi nghi ngờ cách dễ nhất là liên hệ với quản trị viên và yêu cầu họ khởi động lại Apache. Họ không muốn điều này chạy nữa hơn bạn.

Một cách khác sẽ cố gắng tiêu diệt tất cả các quy trình Apache bằng PHP. Nó sẽ gửi tín hiệu tiêu diệt cho tất cả các quy trình Apache, ngoại trừ quy trình mà nó đang chạy. Điều này có thể hoạt động nếu quá trình Apache chạy theo quy trình chia sẻ mà không có setuid (). Cố gắng có nguy cơ của riêng bạn.

 0)
{
    foreach ($psOutput as $ps)
    {
        $ps = preg_split('/ +/', $ps);
        $pid = $ps[1];

        if($pid != $cpid)
        {
          $result = posix_kill($pid, 9); 
        }
    }
}
?>

Đã trả lời ngày 12 tháng 12 năm 2012 lúc 19:59Dec 12, 2012 at 19:59

Jordan Mackjordan MackJordan Mack

7.7337 Huy hiệu vàng29 Huy hiệu bạc29 Huy hiệu đồng7 gold badges29 silver badges29 bronze badges

1

Những điều sau đây sẽ dừng quá trình nền (PHP):

sudo service apache2 stop

Để bắt đầu lại Apache:

sudo service apache2 start

Chỉ đơn giản là bắt đầu lại Apache:

sudo service apache2 start

Đã trả lời ngày 2 tháng 5 năm 2015 lúc 11:22May 2, 2015 at 11:22

Hướng dẫn stop php script running background - dừng tập lệnh php chạy nền

Roy M Jroy M JRoy M J

6.8767 Huy hiệu vàng49 Huy hiệu bạc78 Huy hiệu đồng7 gold badges49 silver badges78 bronze badges

Nếu bạn bắt đầu nó trong việc sử dụng nền ps aux | grep time.php để có được PID. Sau đó, chỉ kill PID. Nếu quá trình bắt đầu ở phía trước, hãy sử dụng để làm gián đoạn nó.

Nếu quá trình bắt đầu trong Apache, hãy khởi động lại Apache (/etc/init.d/apache2 Khởi động lại cho Debian). Nếu quá trình bắt đầu với máy chủ giống CGI, hãy khởi động lại máy chủ.

Đã trả lời ngày 12 tháng 12 năm 2012 lúc 19:52Dec 12, 2012 at 19:52

Để dừng các tập lệnh PHP của bạn chạy, bạn chỉ cần nhập lệnh sau vào thiết bị đầu cuối của mình. Điều này sẽ khởi động lại dịch vụ Apache. (Ultimate khởi động lại dịch vụ PHP của bạn).

sudo service apache2 restart

Bạn có thể muốn bao gồm thời gian chờ trong các kịch bản của bạn trong tương lai.

Đã trả lời ngày 19 tháng 2 năm 2015 lúc 16:36Feb 19, 2015 at 16:36

Hướng dẫn stop php script running background - dừng tập lệnh php chạy nền

0

Bạn có thể giết quá trình Apache đang chạy. Hãy thử chạy một cái gì đó như apachectl stop và sau đó


0 để bắt đầu sao lưu. Điều này sẽ giết máy chủ của bạn trong một khoảng thời gian nhưng nó cũng sẽ đảm bảo rằng bất kỳ quy trình nào bị mắc kẹt trên tập lệnh đó sẽ biến mất.

Đã trả lời ngày 12 tháng 12 năm 2012 lúc 19:52Dec 12, 2012 at 19:52

Để dừng các tập lệnh PHP của bạn chạy, bạn chỉ cần nhập lệnh sau vào thiết bị đầu cuối của mình. Điều này sẽ khởi động lại dịch vụ Apache. (Ultimate khởi động lại dịch vụ PHP của bạn).Aaron Hathaway

Bạn có thể muốn bao gồm thời gian chờ trong các kịch bản của bạn trong tương lai.1 gold badge18 silver badges17 bronze badges