我使用Python,因为它的价值,但会接受任何适用语言的答案。如何重命名Linux上的进程?
我试过写信给/proc/$pid/cmdline
,但这是一个只读文件。
我试过给sys.argv[0]
分配一个新的字符串,但是这没有可察觉的影响。
还有其他的可能吗?我的程序正在通过os.system
(相当于system(3)
)执行进程,因此使用额外产卵过程的通用基于* NIX的解决方案将会很好。
我使用Python,因为它的价值,但会接受任何适用语言的答案。如何重命名Linux上的进程?
我试过写信给/proc/$pid/cmdline
,但这是一个只读文件。
我试过给sys.argv[0]
分配一个新的字符串,但是这没有可察觉的影响。
还有其他的可能吗?我的程序正在通过os.system
(相当于system(3)
)执行进程,因此使用额外产卵过程的通用基于* NIX的解决方案将会很好。
写入*argv
将改变它,但你需要从C或类似的;我不认为Python会直接让您直接访问该内存。
我也建议只是把它放在一边。
如果你使用subprocess.Popen代替使用os.system可以使用executable
参数指定的实际文件来执行路径,通您想要显示的名称作为参数args
列表中的第一项。
只是好奇,为什么你会*想*? :) – 2010-05-25 19:31:10
可能的重复[有没有办法在Python中更改有效的进程名?](http://stackoverflow.com/questions/564695/is-there-a-way-to-change-effective-process-name -in-python) – 2010-05-25 19:39:14
对Justin的回应:在unix服务器(如apache和postgres)中通常的做法是重写一个通用的进程名称,并简要说明该进程正在做什么。这有助于系统管理员(和桌面用户)在查看系统进程列表时看到发生了什么。 – 2010-05-25 22:06:55