Один окольный путь это должно перенаправить POST к странице, которая перенаправляет к ПОЛУЧЕНИЮ - видит , Отправляют/Перенаправляют/Входят Википедию .
Говорят, что Ваш POST является 4K данных формы. По-видимому, Ваш сервер делает что-то с теми данными вместо того, чтобы просто отобразить его однажды и выбросить его, такие как сохранение его в базе данных. Продолжайте делать это, или если это - огромная поисковая форма, создают временную копию его в базе данных, которая очищена после нескольких дней или на основе LRU, когда предел пространства используется. Теперь создайте представление данных, с помощью которые можно получить доступ, ДОБИРАЮТСЯ. Если это является временным, генерируйте идентификатор для него и использование что как URL; если это - постоянный набор данных, это, вероятно, имеет идентификатор или что-то, что может использоваться для URL. В худшем случае алгоритм как крошечное использование URL может свернуть большой URL к намного меньшему. Перенаправьте POST для ПОЛУЧЕНИЯ представления данных.
Как исторический очерк, эта техника была установленная практика в 1995 .
Вы запускали подпроцесс Python из того же скрипта, из которого его убиваете? Если это так, см. этот вопрос для подробностей. Если нет, вы можете использовать параметр -f pkill
для поиска имени сценария в списке аргументов процесса Python, но вы все равно рискуете убить то, чего не собирались. Дополнительную информацию см. На странице руководства .
Можно ли заставить процесс записать свой pid
в файл?
В Python вы получаете pid следующим образом:
import os
os.getpid()
Убийство по имени удобно, но, как вы видели, иногда имеет нежелательные последствия.
вам нужно найти идентификатор процесса (pid). Вы можете использовать команду «ps -A | grep NAME», а затем применить «kill -9 PID». Эти команды можно легко преобразовать в python.
Попытка использовать «имя» (как в pkill) может привести к множественным совпадениям и, следовательно, к неожиданным результатам (по крайней мере, в контексте, указанном выше в вопросе).
Попробуйте следующее:
echo '#!/usr/bin/env python' > myscript
cat myscript.py >>myscript
chmod +x myscript
./myscript
Конечно, вам придется изменить код, чтобы убить процесс с именем «myscript»
В системах UNIX исполняемый файл содержит несколько байтов в начале, которые сообщают ОС, какой двоичный формат используется. Если первые два байта равны #!
, тогда ОС предполагает, что это на самом деле текстовый файл, который может быть выполнен другой программой, и ОС загружает другую программу и передает ей текстовый файл.
В этом случае я, вероятно, мог бы написать #! / Usr / bin / python
в верхней строке, но если ваш питон находится в / usr / local / bin
, то он не будет работать. Вместо этого я использую env
, чтобы заставить его искать ваш обычный путь для python. Все системы UNIX имеют env в / usr / bin. Для получения дополнительной информации введите man env
.