diff options
author | Seth Vidal <skvidal@fedoraproject.org> | 2007-09-25 10:41:40 -0400 |
---|---|---|
committer | Seth Vidal <skvidal@fedoraproject.org> | 2007-09-25 10:41:40 -0400 |
commit | 4ce41f6eb4bdef401dd767d48ea98a0883090972 (patch) | |
tree | f116135c24af74d335a16a28babe94215e961321 /minion/utils.py | |
parent | 04d9598cef8cd5501acba95040ee46d73c52dbef (diff) | |
parent | 6bf3d8bee599802c95832cbdae904ffce1053938 (diff) | |
download | func-4ce41f6eb4bdef401dd767d48ea98a0883090972.tar.gz func-4ce41f6eb4bdef401dd767d48ea98a0883090972.tar.xz func-4ce41f6eb4bdef401dd767d48ea98a0883090972.zip |
Merge branch 'master' of ssh://git.fedoraproject.org/git/hosted/func
* 'master' of ssh://git.fedoraproject.org/git/hosted/func:
Renamed server to minion and client to overlord
Diffstat (limited to 'minion/utils.py')
-rwxr-xr-x | minion/utils.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/minion/utils.py b/minion/utils.py new file mode 100755 index 0000000..724c847 --- /dev/null +++ b/minion/utils.py @@ -0,0 +1,47 @@ +#!/usr/bin/python + +""" +Copyright 2007, Red Hat, Inc +see AUTHORS + +This software may be freely redistributed under the terms of the GNU +general public license. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +""" + +import os +import string +import sys +import traceback + +# this is kind of handy, so keep it around for now +# but we really need to fix out server side logging and error +# reporting so we don't need it +def trace_me(): + x = traceback.extract_stack() + bar = string.join(traceback.format_list(x)) + return bar + + +def daemonize(pidfile=None): + """ + Daemonize this process with the UNIX double-fork trick. + Writes the new PID to the provided file name if not None. + """ + + print pidfile + pid = os.fork() + if pid > 0: + sys.exit(0) + os.setsid() + os.umask(0) + pid = os.fork() + + + if pid > 0: + if pidfile is not None: + open(pidfile, "w").write(str(pid)) + sys.exit(0) |