From 10584357001c629d0279778d3aeca6d4af30357f Mon Sep 17 00:00:00 2001 From: Calum Lind Date: Sat, 3 Mar 2012 02:18:13 +0000 Subject: [PATCH] Set process name to match application using setproctitle Using the setproctitle module the process name displayed in top and other places will correctly reflect the binary name. This is an optional dependency --- ChangeLog | 1 + deluge/ui/gtkui/gtkui.py | 9 +++++++++ deluge/ui/ui.py | 11 ++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f58629dbf..79267b7dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ * #2021: Fix share ratio limit not obeyed for seeded torrents added to session * Add optparse custom version to prevent unnecessary loading of libtorrent * #1554: Fix seeding on share ratio failing for partially selected torrents + * Add proper process title naming in ps, top etc. (Depends: setproctitle) ==== GtkUI ==== * #1918: Fix Drag'n'Drop not working in Windows diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py index 340b5fc87..08bcfd4cc 100644 --- a/deluge/ui/gtkui/gtkui.py +++ b/deluge/ui/gtkui/gtkui.py @@ -47,6 +47,12 @@ import pkg_resources import gtk, gtk.glade import sys +try: + from setproctitle import setproctitle, getproctitle +except ImportError: + setproctitle = lambda t: None + getproctitle = lambda: None + # Initialize gettext try: locale.setlocale(locale.LC_ALL, '') @@ -190,6 +196,9 @@ class GtkUI(object): return 1 SetConsoleCtrlHandler(win_handler) + # Set process name again to fix gtk issue + setproctitle(getproctitle()) + # Attempt to register a magnet URI handler with gconf, but do not overwrite # if already set by another program. common.associate_magnet_links(False) diff --git a/deluge/ui/ui.py b/deluge/ui/ui.py index fb03fbfed..2662543e8 100644 --- a/deluge/ui/ui.py +++ b/deluge/ui/ui.py @@ -41,6 +41,11 @@ import deluge.common import deluge.configmanager import deluge.log +try: + from setproctitle import setproctitle +except ImportError: + setproctitle = lambda t: None + def version_callback(option, opt_str, value, parser): print os.path.basename(sys.argv[0]) + ": " + deluge.common.get_version() try: @@ -111,10 +116,12 @@ class _UI(object): log.error("There was an error setting the config dir! Exiting..") sys.exit(1) + setproctitle("deluge-%s" % self.__name) + log.info("Deluge ui %s", deluge.common.get_version()) log.debug("options: %s", self.__options) log.debug("args: %s", self.__args) - log.info("Starting ui..") + log.info("Starting %s ui..", self.__name) class UI: def __init__(self, options, args, ui_args): @@ -131,6 +138,8 @@ class UI: else: selected_ui = options.ui + setproctitle("deluge") + config.save() del config