diff --git a/wcs/qommon/cron.py b/wcs/qommon/cron.py index 0bb6a0756..8b52b77fd 100644 --- a/wcs/qommon/cron.py +++ b/wcs/qommon/cron.py @@ -18,9 +18,9 @@ import os import signal import time try: - import dl + import prctl except ImportError: - dl = None + prctl = None import sys parent_killed = False @@ -88,17 +88,10 @@ def spawn_cron(create_publisher): cron_pid = os.fork() if cron_pid == 0: pub = create_publisher() - # set process name, this only works on Linux, 15 == PR_SET_NAME - if dl: - try: - libc = dl.open('/lib/libc.so.6') - except dl.error: - pass - else: - try: - libc.call('prctl', 15, os.path.basename(sys.argv[0]) + ' [cron]\0', 0, 0, 0) - except ValueError: # missing symbol - pass + # set process name and title (this only works on Linux) + if prctl: + prctl.set_name(os.path.basename(sys.argv[0]) + ' [cron]') + prctl.set_proctitle(os.path.basename(sys.argv[0]) + ' [cron]') signal.signal(signal.SIGTERM, stop_cron_process) cron(pub) sys.exit(0)