2011-01-03 9 views
2

py-setproctitleとsetproctitleを試しました。どちらもOpenBSDでは動作しませんでした。OpenBSD4.8でPythonスクリプトのprocessnameを変更する方法

+1

あなたが書いた少しのサンプルコードは良いでしょう – ismail

+0

'setproctitle.setproctitle(" foo ")'は動作しないことをテストするのに十分です。おそらくpy-setproctitleのバグでしょう。 setproctitle()は4.8で正常に動作します(Cでテスト済み)。 – plundra

+0

@plundra、それは私がサンプルコードを要求した理由、それはうまく動作するはずです。 – ismail

答えて

3

問題は、それがOpenBSDの上stdlib.hで定義されているがsetproctitleは、unistd.hで定義されている場合、それはテストsetup.pyhere

あります。

stdlib.hもチェックしてください(これはあとで含まれていますので、心配はありません)、すべて正常に動作します。以下

差分:

のOpenBSDから
--- 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 

マンページ:それはstdlib.hであるsetproctitle(3)ヒント。

+0

あなたの答えをありがとう。それは今働く。 "python"をprocesslistから隠すことはできますか? ルート8590 0.0 0.3 1716 3716 p2 S + 4:15 PM 0:00.05 python:OZKAN(python2.5) –

+0

@Ozkan libcを変更しないでください。自由に変更できれば、バックドアなどの不要なソフトウェアを隠すことが非常に簡単になります。[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

関連する問題