2011-01-03 2 views
2

Я попробовал py-setproctitle и setproctitle. Оба они не работали на OpenBSD.Как изменить имя процесса моего скрипта python на OpenBSD4.8

+1

Немного кода примера, который вы написали, будет хорошим – ismail

+0

'setproctitle.setproctitle (" foo ")' достаточно, чтобы проверить, что он не работает. Вероятно, это ошибка в py-setproctitle. setproctitle() отлично работает в 4.8 (проверен на C). – plundra

+0

@plundra, вот почему я попросил образец кода, он должен работать нормально. – ismail

ответ

3

Проблема заключается в том here

В setup.py он проверяет, если setproctitle определяется в unistd.h, хотя она определена в stdlib.h на OpenBSD.

Кроме того, вы также можете проверить stdlib.h (что включено позже - так что не беспокойтесь), все работает так, как ожидалось.

Diff ниже:

--- setup.py~ Mon Jan 3 12:05:39 2011 
+++ setup.py Mon Jan 3 12:05:39 2011 
@@ -39,7 +39,7 @@ 
    # Old BSD versions don't have setproctitle 
    # TODO: not tested on an "old BSD" 
    if 0 == os.spawnlp(os.P_WAIT, 'grep', 
-   'grep', '-q', 'setproctitle', '/usr/include/unistd.h'): 
+   'grep', '-q', 'setproctitle', '/usr/include/unistd.h', '/usr/include/stdlib.h'): 
     define_macros['HAVE_SETPROCTITLE'] = 1 
    else: 
     define_macros['HAVE_PS_STRING'] = 1 

Человек-страница из OpenBSD: setproctitle(3) намекает, что он находится в stdlib.h.

+0

Благодарим вас за ответ. Он работает сейчас. Можно ли скрыть «python» из списка процессов? корень 8590 0,0 0,3 1716 3716 p2 S + 4:15 PM 0: 00.05 python: OZKAN (python2.5) –

+0

@Ozkan Не обошлось без изменений в libc. Возможность свободного изменения облегчит скрытие нежелательного программного обеспечения, такого как backdoor и т. Д. [Setproctitle.c] (http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/setproctitle. c? rev = 1.11) – plundra

+0

Спасибо за отзыв. Исправление будет выпущено в setproctitle 1.1.2. – piro

Смежные вопросы