Как сменить имя процесса в Python

Написал тут небольшой демон на Пайтоне и обнаружил, что «тушить» его через start-stop-daemon неудобно.

Start-stop-daemon — утилита для запуска и остановки демонов, обычно для останова ей передаётся параметр «stop» и ещё два параметр: имя файла, где записан PID процесса, который надо остановить и имя этого процесса. Утилита, прочитав PID, должна проконтролировать — действительно ли на данном PID работает процесс с заданным именем.

Засада в том, что демон на Пайтоне и имя процесса у меня — «python». Я в этом языке программирования пока новичок (программирую с сентября), возможно поэтому не нашёл в документации как это делается (Ваня, расскажи, если есть простой способ).

Я помню, что в Perl было очень просто — записал в переменную $0 имя и в списке процессов видно записанное значение. В Python запись в sys.arvg[0] ничего не даёт.

В общем, мой велосипед (только для Linux!):
import os.path, sys, ctypes

ctypes.CDLL('libc.so.6').prctl(15, os.path.basename(sys.argv[0]), 0, 0, 0)
Не все утилиты «увидят» новое имя, но для start-stop-daemon и killall этот способ работает.
10 июля 2009 16:56

ninjacolumbo.ya.ru (ninjacolumbo.ya.ru)
10 июля 2009, 20:21

Сотона!

bolk (bolknote.ru)
11 июля 2009, 10:09, ответ предназначен ninjacolumbo.ya.ru:

А как ты пишешь, если ярушечку удалил? O_o

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)