From c527fd1f14c27855a37f2e8ac5346ce8d940ced2 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Thu, 16 Oct 2014 03:05:19 +0200 Subject: initial commit for Enea Linux 4.0-140929 Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea --- scripts/swabber-strace-attach | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 scripts/swabber-strace-attach (limited to 'scripts/swabber-strace-attach') diff --git a/scripts/swabber-strace-attach b/scripts/swabber-strace-attach new file mode 100755 index 0000000000..bb0391a7ca --- /dev/null +++ b/scripts/swabber-strace-attach @@ -0,0 +1,31 @@ +#!/usr/bin/env python +import os +import sys +import subprocess + +# Detach from the controlling terminal and parent process by forking twice to daemonize ourselves, +# then run the command passed as argv[1]. Send log data to argv[2]. + +pid = os.fork() +if (pid == 0): + os.setsid() + pid = os.fork() + if (pid != 0): + os._exit(0) +else: + sys.exit() + + +si = file(os.devnull, 'r') +so = file(sys.argv[2], 'w') +se = so + +# Replace those fds with our own +os.dup2(si.fileno(), sys.stdin.fileno()) +os.dup2(so.fileno(), sys.stdout.fileno()) +os.dup2(se.fileno(), sys.stderr.fileno()) + +ret = subprocess.call(sys.argv[1], shell=True) + +os._exit(ret) + -- cgit v1.2.3-54-g00ecf