是否可以以编程方式更改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而不是只是名字。)
答案 0 :(得分:6)
您可以使用PR_SET_NAME
的{{1}}功能执行此操作:
prctl()
但是,prctl(PR_SET_NAME, (unsigned long)"xyzzy", 0, 0, 0);
应该是启动进程的(符号链接)脚本,而不是指向进程可执行文件本身的链接。这也可以解决问题。