How to get the detail information of one Linux thread

Refresh

December 2018

Views

3.1k time

2

I already know that ps -ef and top will list the thread information. In fact, I got a pid via top. I would like to check more detail information about this thread, I remember there should be a Linux command to do so.

Thank you @Shahbaz That's answer my question.

However I still would like to make it clear.

What I want is:

I have a pid, I would like to know more information about this thread like where is the thread start such as which folder? and maybe memory related.

The answer I am waiting actually

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  

I hope that clear. At least, I can find it easy next time. Thanks again.

1 answers

2

Это не ясно, какого рода информацию вы ищете, так что я собираюсь направить вас к конечному местоположению. Увидеть

/proc/<pid>

Есть много файлов в там , которые являются либо ссылки на места , представляющие интерес для программы или сразу cat-ed бы предоставить вам любую информацию , которую вы можете думать.


/procэто каталог. Внутри него есть и другие каталоги (смотреть на него). Для каждого процесса есть каталог с именем с ВЗОМТОМ. В этом каталоге есть ссылки и специальные файлы, называемые / запись Proc.

Каждый специальный файл может иметь доступ считывания или записи. Если он имеет доступ на чтение, вы можете просто прочитать его (используя cat, например) , и это даст вам полезную информацию. Если он имеет доступ на запись, это , вероятно , означает , что он может принимать определенный вид данных для изменения некоторых параметров процесса.


Я хотел бы получить информацию о том, какие папки запуска этой команды рубин?

Если вы знаете идентификатор процесса в grepкоманде, сделать , readlink /proc/<pid>/cwdчтобы увидеть , где «текущий рабочий каталог» из процесса.


На вашем редактирования: Та же информация pmapдает вам можно найти в /proc/<pid>/maps.