From 4660d4815123b2e012a4369337d375b3d48d9e6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Str=C3=B6m?= Date: Thu, 6 Sep 2018 15:12:50 +0200 Subject: [PATCH] Ignore SIGINT to allow proper cleanup on Ctrl-C --- gp-okta.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gp-okta.py b/gp-okta.py index 0254c6b..f812460 100755 --- a/gp-okta.py +++ b/gp-okta.py @@ -24,7 +24,7 @@ THE SOFTWARE. """ from __future__ import print_function -import io, os, sys, re, json, base64, getpass, subprocess, shlex +import io, os, sys, re, json, base64, getpass, subprocess, shlex, signal from lxml import etree import requests @@ -363,6 +363,10 @@ def main(): pp = subprocess.Popen(shlex.split(pcmd), stdout=subprocess.PIPE) cp = subprocess.Popen(cmd, stdin=pp.stdout, stdout=sys.stdout) pp.stdout.close() + + # Do not abort on SIGINT. openconnect will see it, and perform proper exit & cleanup + signal.signal(signal.SIGINT, signal.SIG_IGN) + cp.communicate() else: print('{0} | {1}'.format(pcmd, cmd))