2011-01-03 2 views
2

J'ai essayé py-setproctitle et setproctitle. Les deux ne fonctionnaient pas sous OpenBSD.Comment puis-je modifier processname de mon script python sur OpenBSD4.8

+1

Un petit peu d'exemple de code que vous avez écrit serait bon – ismail

+0

'setproctitle.setproctitle (" foo ")' est suffisant pour tester que cela ne fonctionne pas. C'est probablement un bug dans py-setproctitle. setproctitle() fonctionne très bien en 4.8 (testé en C). – plundra

+0

@plundra, c'est pourquoi j'ai demandé un code d'exemple, c'est supposé fonctionner correctement. – ismail

Répondre

3

Le problème est here

En setup.py il teste si setproctitle est défini dans unistd.h, bien qu'il est défini dans stdlib.h sur OpenBSD. En vérifiant également stdlib.h (qui est inclus plus tard - donc pas de soucis), tout fonctionne comme prévu.

Diff ci-dessous:

--- 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 

L'homme page d'OpenBSD: setproctitle(3) laisse entendre que son dans stdlib.h.

+0

Merci pour votre réponse. Ça fonctionne maintenant. Est-il possible de masquer "python" de la liste de processus? racine 8590 0.0 0.3 1716 3716 p2 S + 16:15 0: 00.05 python: OZKAN (python2.5) –

+0

@Ozkan Pas sans apporter de changements dans libc. Être capable de changer librement rendrait très facile de cacher les logiciels indésirables comme les portes dérobées, etc. [setproctitle.c] (http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/setproctitle. c? rev = 1.11) – plundra

+0

Merci pour le conseil. Le correctif sera publié dans setproctitle 1.1.2. – piro

Questions connexes