ocarina/src/base/bt/proc.py

30 lines
720 B
Python

# Manages process-related tasks
__author__="bjschuma"
__date__ ="$Dec 5, 2009 6:33:50 PM$"
import settings
from message import write
# Set our process name to name
def setname(name):
# Set the process name (thank you exaile.py)
# This only works on linux2 machines
message = "Attempting to set process name to " + name + "..."
if settings.settings["ARCH"] == 'linux2':
try:
import ctypes
libc = ctypes.CDLL('libc.so.6')
libc.prctl(15,name, 0, 0, 0)
message += "success!"
except:
try:
import dl
libc = dl.open('/lib/libc.so.6')
name+="\0"
libc.call('prctl',15, name, 0, 0, 0) # 15 is PR_SET_NAME
message += "success!"
except:
message += "failed."
write(message,True)