![是什么原因导致 htop 进程没有名称?](https://linux22.com/image/95040/%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%20htop%20%E8%BF%9B%E7%A8%8B%E6%B2%A1%E6%9C%89%E5%90%8D%E7%A7%B0%EF%BC%9F.png)
这是一个完全最新的 debian 8.6 系统,以 root 身份运行 htop 1.0.3,amd64。而且 unix.stackexchange.com 似乎将图像缩小到不可读的大小,我建议打开图像网址http://image.prntscr.com/image/5ef407a1f99a4c9692db179a3afb2516.png直接地
答案1
htop 显示进程的命令行,参数之间有空格。 (第一个参数,参数号 0,通常是父进程传递的命令名称。)
进程可能会用相同长度或更短的字符串覆盖其命令行参数。一些程序会使用这种方法来传达有关程序状态的信息。Screen 在管理会话的后台进程中将第一个参数(命令名称)设置为大写,而在连接到会话的终端中运行的前端进程中保留通常为小写的命令名称。
也可以在没有命令行参数的情况下启动进程。这是非常不寻常的:按照惯例,第一个参数是命令名称。但这在技术上是可能的。
虽然这可能是显示错误,或者是包含回车的命令名称的影响,但最可能的解释是该进程(当前)没有参数。您可以通过直接询问内核来检查:
cat -A /proc/12727/cmdline; echo
这将显示参数,其中控制字符被视觉表示替换。参数之间用 分隔^@
。
您可以通过浏览找到其他信息/proc/12727
,例如,/proc/12727/exe
指向在此进程中运行的可执行文件的符号链接,并/proc/12727/fd
显示该进程打开了哪些文件。您还可以使用 显示此信息lsof -p12727
。
ps l 12727
将显示有关此进程的其他信息,特别是其父进程 ID (PPID)。 (您还可以通过激活设置中的相应列来配置 htop 以显示此信息。)