Я сделал запрос на PHP-скрипт через мой браузер на веб-сервер Apache. Сценарий загружает файлы с FTP-сервера, и он слишком длинный. Я думаю, что у PHP не установлен тайм-аут, поэтому мне нужно найти и убить этот запрос браузера.
Есть идеи? благодаря
вы можете убить процесс из командной строки, если у вас есть доступ к root (sudo)
запущенный php-процесс появится как веб-сервер, httpd или apache2. Ищите тот, который был создан правильно, - самый старый - это родительский процесс, который разворачивает рабочих, вы хотите тот, который запускает скрипт, а не родительский. Ps показывает время создания процесса и накопленное время процессора, используйте его для поиска правильного (я использую ps aux | grep apache2
, но я больше привык к привязке BSD). Выход ps включает столбцы START (время начала процесса, hrs: mins или MonDate) и TIME (время работы процессора, мин: сек)
% ps aux | grep apache2
root 2641 0.0 0.1 74048 14468 ? Ss Feb12 0:27 /usr/sbin/apache2 -k start
www-data 2913 0.0 0.0 74120 6656 ? S Feb12 0:00 /usr/sbin/apache2 -k start
andras 32069 0.0 0.0 3560 1792 pts/8 S+ 20:57 0:00 grep apache2
www-data 32506 0.0 0.0 74120 6656 ? S Feb14 0:00 /usr/sbin/apache2 -k start
Я настроил apache для запуска только двух рабочих процессов. Владельцем root
является мастер, www-data
- это рабочие. Заголовки столбцов
% ps aux | head -1
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
Вы можете убить его любым сигналом убийства, но -15 (-TERM) является обычным.
У Php есть 30-секундный тайм-аут использования процессора, но передача ftp использует очень мало процессора.
ps aux | grep apache2
Я получаю wwwrun 20651 0.0 0.6 117468 12520 ? S Feb20 0:04 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
kill #
из командной строки