Найти - Пользователи
Полная версия: Смена имени процесса.
Начало » Python для экспертов » Смена имени процесса.
1
Saff
Возможно ли?(FreeBSD)
Искал материалы по этой теме, но ничего реально работающего не нашёл.
Нужно что бы прога меняла имя своего процесса, виделась в ps -ax и килялась по killall.
Есть ли иные варианты чем импортить C'шные либы и прочие кастыли?

Использовал такой кусок(только частично рабочий):
libc = dl.open('/lib/libc.so.7')
libc.call('setproctitle', ‘mydaemon’)

При ps -ax выдаёт следующее:

11005 p0 S+ 0:00.03 python: mydaemon (python)

Соответственно по killall ничего не выыходит.

Слышал про реализацию по средствам exec*'ов, но что то не понял как его корректно использовать ((
cybergrind
http://code.google.com/p/procname/
это про линух… гдето есть история про то как чел докатился до этого…
есть истории про argv
Saff
http://code.google.com/p/procname/ - ужо скачал, но это линуховская приблуда. Пытаюсь пока её собрать.
А про argv слышал, но тоже не особо много ((((
cybergrind
насколько я понял - универсального решения вообще нету. под винду или линух еще более менее, про бсд придеться читать что нить для других языков и пытаться заюзать
Андрей Светлов
def launchWithName(name):
if name and name != sys.argv[0]:
exe = os.path.realpath(sys.executable)
print 'Changing process name to ' + name, sys.argv
os.execv(exe, [name, sys.argv[0], 'name_changed']+sys.argv[1:])
Ferroman
Наткнулся на хабре. Может пригодится.
Saff
Пробовал вышеприведённый код, но ничего не вышло (((

os.execv(exe, [name, sys.argv, ‘name_changed’]+sys.argv)
Выдал:
OSError: Permission denied

Запускал от рута. Владелец файла root:wheel.

Пока ищу решение….

Хабру читал уже, там есть решение для FreeBSD, но я уже его пробовал. Оно плохо изменяет имя в ps -ax (((

procname так и не получилось собрать ((

В общем думаю дальше….
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB