summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/common-functions.sh2
-rwxr-xr-xbin/setsid.py16
2 files changed, 17 insertions, 1 deletions
diff --git a/bin/common-functions.sh b/bin/common-functions.sh
index 7664337b..fd524d44 100755
--- a/bin/common-functions.sh
+++ b/bin/common-functions.sh
@@ -24,7 +24,7 @@ if [ "${0:0:5}" != "/tmp/" ] ; then
# this hack makes it possible to overwrite long running scripts
# anytime...)
echo "$(date) - start running \"$0\" as \"$TTT\" using \"$@\" as arguments."
- $TTT "$@"
+ /srv/jenkins/bin/setsid.py $TTT "$@"
exit $?
# cleanup is done automatically via trap
else
diff --git a/bin/setsid.py b/bin/setsid.py
new file mode 100755
index 00000000..32002ec7
--- /dev/null
+++ b/bin/setsid.py
@@ -0,0 +1,16 @@
+#!/usr/bin/python
+"""backport of util-linux' setsid -w to Debian stable"""
+
+import os
+import sys
+
+if __name__ == "__main__":
+ assert len(sys.argv) > 1
+ pid = os.fork()
+ if pid == 0:
+ os.setsid()
+ os.execvp(sys.argv[1], sys.argv[1:])
+ else:
+ cpid, status = os.wait()
+ assert cpid == pid
+ sys.exit(os.WEXITSTATUS(status))