【发布时间】:2015-07-31 13:21:48
【问题描述】:
我目前正在尝试更改进程的进程名称,以便我可以使用 htop、top、...更轻松地阅读。我想 LD_PRELOAD 将此代码放入另一个进程中,以便它被环境重命名变量。
我在互联网上找到了很多东西,但没有任何效果:
prctl(PR_SET_NAME, "Test");
这不起作用,因为 htop 不尊重该名称。
Nginx setproctitle (Link) 也不能正常工作,因为它会剥离参数(进程需要的参数)。
我尝试了所有我发现的东西,但现在我没有想法了。
这在 linux 中是否可行?怎么做?
【问题讨论】:
-
你确定需要用 C 代码解决这个问题吗?
-
如果它可以生成可以预加载的 .so 文件,我会使用任何其他语言。
-
原来的问题是如何更改进程的名称?第一个解决方案是编写一个 .so LD_PRELOAD 来实现这一点?如果我正确理解了您的 systemd 设置,可能会有一个更简单的解决方案,首先不需要 .so 或 LD_PRELOAD。