add process title setting to activities
* they now will show up as Activity Name <id> in the process list truncated to 15 characters though
This commit is contained in:
parent
381df08442
commit
9cdd9058da
@ -28,7 +28,8 @@ import tempfile
|
|||||||
|
|
||||||
import gtk, gobject
|
import gtk, gobject
|
||||||
import dbus
|
import dbus
|
||||||
|
|
||||||
|
from sugar import util
|
||||||
from sugar.presence import presenceservice
|
from sugar.presence import presenceservice
|
||||||
from sugar.activity.activityservice import ActivityService
|
from sugar.activity.activityservice import ActivityService
|
||||||
from sugar.graphics import units
|
from sugar.graphics import units
|
||||||
@ -199,6 +200,13 @@ class Activity(Window, gtk.Container):
|
|||||||
"""
|
"""
|
||||||
Window.__init__(self)
|
Window.__init__(self)
|
||||||
|
|
||||||
|
# process titles will only show 15 characters
|
||||||
|
# but they get truncated anyway so if more characters
|
||||||
|
# are supported in the future we will get a better view
|
||||||
|
# of the processes
|
||||||
|
proc_title = "%s <%s>" % (get_bundle_name(), handle.activity_id)
|
||||||
|
util.set_proc_title(proc_title)
|
||||||
|
|
||||||
self.connect('realize', self._realize_cb)
|
self.connect('realize', self._realize_cb)
|
||||||
self.connect('delete-event', self._delete_event_cb)
|
self.connect('delete-event', self._delete_event_cb)
|
||||||
|
|
||||||
@ -397,3 +405,4 @@ def get_bundle_path():
|
|||||||
"""Return the bundle path for the current process' bundle
|
"""Return the bundle path for the current process' bundle
|
||||||
"""
|
"""
|
||||||
return os.environ['SUGAR_BUNDLE_PATH']
|
return os.environ['SUGAR_BUNDLE_PATH']
|
||||||
|
|
||||||
|
@ -103,3 +103,25 @@ def write_service(name, bin, path):
|
|||||||
fileobject = open(dest_filename, 'w')
|
fileobject = open(dest_filename, 'w')
|
||||||
service_cp.write(fileobject)
|
service_cp.write(fileobject)
|
||||||
fileobject.close()
|
fileobject.close()
|
||||||
|
|
||||||
|
def set_proc_title(title):
|
||||||
|
"""Sets the process title so ps and top show more
|
||||||
|
descriptive names. This does not modify argv[0]
|
||||||
|
and only the first 15 characters will be shown.
|
||||||
|
|
||||||
|
title -- the title you wish to change the process
|
||||||
|
title to
|
||||||
|
|
||||||
|
Returns True on success. We don't raise exceptions
|
||||||
|
because if something goes wrong here it is not a big
|
||||||
|
deal as this is intended as a nice thing to have for
|
||||||
|
debugging
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
import ctypes
|
||||||
|
libc = ctypes.CDLL('libc.so.6')
|
||||||
|
libc.prctl(15, str(title), 0, 0, 0)
|
||||||
|
|
||||||
|
return True
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
Loading…
Reference in New Issue
Block a user