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 dbus
|
||||
|
||||
|
||||
from sugar import util
|
||||
from sugar.presence import presenceservice
|
||||
from sugar.activity.activityservice import ActivityService
|
||||
from sugar.graphics import units
|
||||
@ -199,6 +200,13 @@ class Activity(Window, gtk.Container):
|
||||
"""
|
||||
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('delete-event', self._delete_event_cb)
|
||||
|
||||
@ -397,3 +405,4 @@ def get_bundle_path():
|
||||
"""Return the bundle path for the current process' bundle
|
||||
"""
|
||||
return os.environ['SUGAR_BUNDLE_PATH']
|
||||
|
||||
|
@ -103,3 +103,25 @@ def write_service(name, bin, path):
|
||||
fileobject = open(dest_filename, 'w')
|
||||
service_cp.write(fileobject)
|
||||
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