如何获取一个Linux线程的详细信息

时间:2013-04-02 15:00:18

标签: linux shell

我已经知道ps -eftop会列出主题信息。事实上,我通过顶部得到了一个pid。我想查看有关此主题的更多详细信息,我记得应该有一个Linux命令来执行此操作。

谢谢你@Shahbaz那是我的问题。

但我还是想说清楚。

我想要的是:

我有一个pid,我想知道关于这个线程的更多信息,比如哪个线程启动哪个文件夹?也许与记忆有关。

我正在等待的答案

pmap pid

$pmap 498
498:   ./bin/redis-server redis.conf
0000000000400000    224K r-x--  /var/www/bin/redis-2.2.11/bin/redis-server
0000000000637000     12K rwx--  /var/www/bin/redis-2.2.11/bin/redis-server
000000000063a000     80K rwx--    [ anon ]
0000000011204000  57756K rwx--    [ anon ]
0000003dd7a00000    112K r-x--  /lib64/ld-2.5.so
0000003dd7c1b000      4K r-x--  /lib64/ld-2.5.so
0000003dd7c1c000      4K rwx--  /lib64/ld-2.5.so
0000003dd7e00000   1332K r-x--  /lib64/libc-2.5.so
0000003dd7f4d000   2048K -----  /lib64/libc-2.5.so
0000003dd814d000     16K r-x--  /lib64/libc-2.5.so
0000003dd8151000      4K rwx--  /lib64/libc-2.5.so
0000003dd8152000     20K rwx--    [ anon ]
0000003dd8200000    520K r-x--  /lib64/libm-2.5.so
0000003dd8282000   2044K -----  /lib64/libm-2.5.so
0000003dd8481000      4K r-x--  /lib64/libm-2.5.so
0000003dd8482000      4K rwx--  /lib64/libm-2.5.so
0000003dd8a00000     88K r-x--  /lib64/libpthread-2.5.so
0000003dd8a16000   2044K -----  /lib64/libpthread-2.5.so
0000003dd8c15000      4K r-x--  /lib64/libpthread-2.5.so
0000003dd8c16000      4K rwx--  /lib64/libpthread-2.5.so
0000003dd8c17000     16K rwx--    [ anon ]
00002b000ff11000      4K rwx--    [ anon ]
00002b000ff28000    416K rwx--    [ anon ]
00002b000ff91000    480K rwx--    [ anon ]
00002b0010fba000   1536K rwx--    [ anon ]
00007fff90700000     84K rw---    [ stack ]
ffffffffff600000   8192K -----    [ anon ]
 total            77052k  

我希望清楚。至少,下次我觉得很容易。再次感谢。

1 个答案:

答案 0 :(得分:2)

目前尚不清楚您正在寻找什么样的信息,因此我将指向您的最终位置。参见

/proc/<pid>

其中有许多文件,这些文件是指向程序感兴趣的位置的链接,或者cat - ed会为您提供您能想到的任何信息。


/proc是一个目录。在其中有其他目录(看看它)。对于每个进程,都有一个以其pid命名的目录。在该目录中,有链接和特殊文件,称为/ proc条目。

每个特殊文件可能具有读取或写入权限。如果它具有读访问权限,您只需阅读它(例如使用cat),它将为您提供有用的信息。如果它具有写访问权限,则可能意味着它可以接受某种数据来修改该进程的某些参数。


  

我想了解这个ruby命令从哪个文件夹开始的信息?

如果您知道grep命令的pid,请执行readlink /proc/<pid>/cwd以查看流程的“当前工作目录”的位置。


在您的修改中:pmap提供的相同信息可以在/proc/<pid>/maps找到。