是否可以以编程方式更改unix进程的可执行文件名(ucmd)?

时间:2011-07-27 08:59:25

标签: linux unix net-snmp

是否可以以编程方式更改ps报告的unix进程的可执行文件名(ucmd)?

unix / POSIX方式会很好,但Linux特定的解决方案就足够了。

我想改变这里报道的内容

> ps -o ucmd    
CMD
zsh
ps

不是这个,我知道;)

> ps -o command
COMMAND
zsh
ps -o command

感谢

P.S。不试图创建一个rootkit,它只是net-snmp在检查进程时查看这个名称,而我的程序在从init调用时直接从/etc/init.d调用了不同的名称(etc / rcX.d / SNNname而不是只是名字。)

1 个答案:

答案 0 :(得分:6)

您可以使用PR_SET_NAME的{​​{1}}功能执行此操作:

prctl()

但是,prctl(PR_SET_NAME, (unsigned long)"xyzzy", 0, 0, 0); 应该是启动进程的(符号链接)脚本,而不是指向进程可执行文件本身的链接。这也可以解决问题。