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

Ale*_*vic 3 unix linux net-snmp

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

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

我想改变这里报道的内容

> ps -o ucmd    
CMD
zsh
ps
Run Code Online (Sandbox Code Playgroud)

不是这个,我知道;)

> ps -o command
COMMAND
zsh
ps -o command
Run Code Online (Sandbox Code Playgroud)

谢谢

PS不试图创建rootkit,它只是net-snmp在检查进程时查看此名称,并且我的程序在从init调用时直接从/etc/init.d(etc/rcX.d/SNNname)调用了不同的名称只是名字).

caf*_*caf 6

您可以使用以下PR_SET_NAME功能执行此操作prctl():

prctl(PR_SET_NAME, (unsigned long)"xyzzy", 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

但是,/etc/rcX.d/SNNname应该是启动进程的(符号链接到)脚本,而不是指向进程可执行文件本身的链接.这也可以解决问题.