如果我top
这样做了,htop
那么它将显示当前正在运行的进程。
我想用其他名称而不是原始名称来显示进程名称。
例如,即使在 Firefox 中运行,我也想将其显示top
为 icefox 或 waterfoxtop
等htop
,那么在 Ubuntu 中我该怎么做?
谢谢。
答案1
我不明白你为什么要这样做,但如果只是为了好奇,那么一个快速而肮脏的
top | sed 's/firefox/whatever/'
似乎有效,至少对于默认top
输出而言 - 但您不应该依赖它是一个强大的解决方案。
答案2
为什么不直接将可执行文件重命名为其他名称?或者直接重新链接。例如,对于 Firefox,这是最简单的方法:
我们必须隐藏文件夹名称,因此创建一个新目录
sudo mkdir /usr/lib/icefox
接下来我们创建一个链接到 Firefox 可执行文件
cd /usr/lib/icefox sudo ln -s /usr/lib/firefox/firefox icefox
现在修改 Firefox 启动器
sudo vi /usr/lib/firefox/firefox.sh
并适当更改 MOZ_LIBDIR 或 MOZ_APP_NAME 变量,以便它们应该读取:
MOZ_LIBDIR=/usr/lib/icefox MOZ_APP_NAME=icefox
保持所有其他行不变。
此后,firefox 应该会在 ps/top/htop 中显示为 icefox。
如果您不喜欢这种方法,则必须修改 top/htop/etc 的源代码。所有这些报告程序都从 /proc 文件系统获取数据。例如,您应该在 htop 源代码中修改的文件是这。你必须改变进程列表_读取命令行文件函数。只需if
在
command[amtRead] = '\0';
行中检查是否是要隐藏其名称的进程,如果是,则将command
char 数组修改为所需的值。然后,在更改之后,您必须自己编译 htop 并使用修改后的版本。但这种方法并不简单,我不喜欢它。