Shut mitmdump down gracefully on SIGTERM.
This is a hack at the moment, but needs must.
This commit is contained in:
parent
e5c076ab4e
commit
2162ce1ae3
|
@ -214,6 +214,11 @@ class DumpMaster(flow.FlowMaster):
|
|||
self._process_flow(f)
|
||||
return f
|
||||
|
||||
def shutdown(self):
|
||||
if self.o.wfile:
|
||||
self.wfile.fo.close()
|
||||
return flow.FlowMaster.shutdown(self)
|
||||
|
||||
# begin nocover
|
||||
def run(self):
|
||||
if self.o.rfile and not self.o.keepserving:
|
||||
|
|
8
mitmdump
8
mitmdump
|
@ -15,7 +15,7 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import sys
|
||||
import sys, signal
|
||||
from libmproxy import proxy, dump, cmdline
|
||||
from libmproxy.version import VERSION
|
||||
from optparse import OptionParser
|
||||
|
@ -62,9 +62,15 @@ if __name__ == '__main__':
|
|||
|
||||
try:
|
||||
m = dump.DumpMaster(server, dumpopts, filt)
|
||||
def cleankill(*args, **kwargs):
|
||||
m.shutdown()
|
||||
signal.signal(signal.SIGTERM, cleankill)
|
||||
m.run()
|
||||
except dump.DumpError, e:
|
||||
print >> sys.stderr, "mitmdump:", e
|
||||
sys.exit(1)
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue