首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以更改正在运行的进程的cmdline (例如,在顶部更容易地识别它)?

是否可以更改正在运行的进程的cmdline (例如,在顶部更容易地识别它)?
EN

Server Fault用户
提问于 2010-09-24 12:59:16
回答 5查看 5.5K关注 0票数 1

我使用VMware服务器2运行了许多linux,当它们的响应时间不那么热或者负载平均增加时,我打开top来查看发生了什么,或者对于我们的生产服务器,我一整天都在打开top。问题是,vmware-vmx进程的cmdline非常长,例如:

代码语言:javascript
复制
/usr/lib/vmware/bin/vmware-vmx -# product=2;name=VMware Server;version=2.0.2;buildnumber=203138;licensename=VMware GSX Server for Linux;licenseversion=3.0 build-203138; -@ pipe=/tmp/vmhsdaemon-0/vmxaf9a31943e9065f0;readyEvent=55 /var/lib/vmware/Virtual Machines/Kyle.vmwarevm/Kyle.vmx

所以在top中,我看到的是:

代码语言:javascript
复制
 4135 root      20   0  593m 324m 289m S   21  4.2   3038:04 /usr/lib/vmware/bin/vmware-vmx -# product=2;name=VMware Server;
 4106 root      10 -10  997m 399m 346m S    9  5.1   1135:25 /usr/lib/vmware/bin/vmware-vmx -# product=2;name=VMware Server;
 4074 root      20   0  833m 110m  97m S    2  1.4 722:19.38 /usr/lib/vmware/bin/vmware-vmx -# product=2;name=VMware Server;

在VMWare服务器1中,每个VM将作为自己的用户运行,因此我可以很容易地判断哪个是哪个。VMWare服务器2的情况并非如此。为了代替购买一个非常宽的监视器或三重监视器设置,我是否可以更改这些正在运行的进程的cmdline,以便很容易地识别哪个进程的cmdline?我知道这些过程会改变自己的cmdline ..。我能读(但不写)/proc/nnn/cmdline.

是否有任何方法(以root用户的身份)更改正在运行的进程的cmdline?

EN

回答 5

Server Fault用户

发布于 2012-07-18 16:10:12

虽然可能没有人会再使用VMWare服务器,但在其他进程中也会出现这个问题。您确实应该看看htop,它允许侧滚动来读取整个命令行并显示进程树:

至于您的问题,更改已运行的进程的命令行很可能只有通过覆盖其ARGV0的内存地址的数据才有可能。据我所知,还没有任何工具可以用来做changecmdline 4652 "foo process"。进一步讨论:http://stupefydeveloper.blogspot.de/2008/10/linux-change-process-name.html

票数 4
EN

Server Fault用户

发布于 2010-09-24 13:38:46

以下几点如何?

watch 'ps -eo pid,pcpu,args | grep vmware'

每2秒钟就运行一次命令。pcpu是cpu百分比。

票数 3
EN

Server Fault用户

发布于 2012-01-10 15:27:40

这的确是一个令人讨厌的问题。

真正的解决方案张贴在这里:

http://blog.angulosolido.pt/2012/01/vmware-2-long-process-names-and-top.html

这个剧本不好看,但很管用。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/184304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档