kill LONG request and manage_main DoS?
Dear all, today I was look to my zope linux server and see that have one long running process (10 days!) and one python process consume me near 100% of CPU power. I was manage this page 10 days before. Does somebody know how to kill this request? It is safe to kill PID of this process, or is possible to kill request at zope level? I dont want to restart my zope server. And in other side, calling manage_main for some kind of objects is not pure safe? I was encounter problems with calling manage_main to ZipFolder and DTML documents (it tooks few minutes via modem and downloads from server few MB). Many thanks, J. Lukesh /Control_Panel/DebugInfo/manage_main says me: Fri Nov 28 15:27:35 2003 (843045.90s) ({'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'channel.creation_time': 1070029655, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_PORT': '888', 'PATH_INFO': '/cz/zima/index.htm/manage_main', 'HTTP_HOST': 'www.XXXXX.cz', 'REQUEST_METHOD': 'GET', 'PATH_TRANSLATED': '/cz/zima/index.htm/manage_main', 'HTTP_ACCEPT': 'application/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*', 'SCRIPT_NAME': '', 'SERVER_SOFTWARE': 'Zope/(Zope 2.5.1 (binary release, python 2.1, linux2-x86), python 2.1.3, linux2) ZServer/1.1b1', 'HTTP_ACCEPT_LANGUAGE': 'cs', 'HTTP_X_FORWARDED_FOR': '212.11.110.50', 'REMOTE_ADDR': '192.168.1.200', 'SERVER_NAME': 'webproxy', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)', 'CONNECTION_TYPE': 'Keep-Alive'}, {'RESPONSE': ZServerHTTPResponse(''), 'ql_meta_types': '[]', 'PUBLISHED': <DTMLFile instance at 836a240>, 'ukazceloucestu': 'ne', 'PARENTS': [<DTMLDocument instance at 9146610>, <Folder instance at 8dcf6e8>, <ZipFolder instance at 911e088>, <Folder instance at 8def950>, <Folder instance at 8d0ec28>, <Folder instance at 8e318a0>, <Application instance at 8e6e2d0>], 'rev': [], 'traverse_subpath': [], 'SERVER_URL': 'http://www.XXXXXXXX.cz', 'VirtualRootPhysicalPath': ('', 'servery', 'cz.XXXXXX'), 'URL': 'http://www.XXXXXX.cz/cz/zima/index.htm/manage_main', 'AUTHENTICATED_USER': Anonymous User, 'TraversalRequestNameStack': []}) (513)
Jaroslav Lukesh wrote at 2003-12-8 10:10 +0100:
today I was look to my zope linux server and see that have one long running process (10 days!) and one python process consume me near 100% of CPU power. I was manage this page 10 days before.
Does somebody know how to kill this request? It is safe to kill PID of this process,
Try it out. The worst thing that can happen (it probably will) is that your Zope dies. That's not too bad, as it is the only other option you have...
or is possible to kill request at zope level?
Python grew only in version 2.3 the possibility to affect a running thread. Version 2.3 provides a C level API to raise an exception in a different thread. This is not always able to affect the thread (e.g. when it waits in a C level extension, it will not be affected) but usually, it does. Before Python 2.3, there is no such chance (and therefore, Zope does not implement something like this).
I dont want to restart my zope server.
Almost surely, you will need to... Unless, you let your request run forever... -- Dieter
participants (2)
-
Dieter Maurer -
Jaroslav Lukesh