ocarina/src/core/bt/proc.py

38 lines
906 B
Python

# Manages process-related tasks
__author__="bjschuma"
__date__ ="$Dec 5, 2009 6:33:50 PM$"
import session
from message import write
from bt.file import join
# 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 session.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,1)
def setup():
app = session.settings["appname"]
write("Welcome to "+app+"!",1)
setname(app)
session.settings["appdir"] = join(session.settings["user"], "."+app)