Если я знаю номер PID процесса, как я могу получить его имя?

Если у меня есть номер PID для процесса (на машине UNIX), как я могу узнать имя связанного с ним процесса?

Что мне делать?

198 голосов | спросил AndreaNobili 17 AM000000110000004731 2013, 11:12:47

10 ответов


216

Во всех POSIX-совместимых системах и с Linux вы можете использовать ps :

  ps -p 1337 -o comm =
 

Здесь процесс выбирается с помощью PID с помощью -p . Опция -o указывает формат вывода, comm , что означает имя команды.

См. также: ps "Базовые спецификации Open Group Issue 6

ответил slhck 17 PM000000120000005131 2013, 12:21:51
37

Вы можете найти имя процесса или команду, используемую идентификатором процесса или pid из

  /Proc /PID /CmdLine
 

, выполнив

  cat /proc /pid /cmdline
 

Здесь pid - это pid, для которого вы хотите найти имя
Для exmaple:

  # ps aux

   ................
   ................
   пользователь 2480 0.0 1.2 119100 12728 pts /0 Sl 22:42 0:01 gnome-terminal
   ................
   ................
 

Чтобы найти имя процесса, используемое pid 2480, вы можете использовать

  # cat /proc /2480 /cmdline

 гном-терминал
 
ответил Stormvirux 17 PM000000120000004631 2013, 12:04:46
12

Чтобы получить путь к программе с помощью определенного pid, вы можете использовать:

  ps ax | egrep "^ [PID]"
 

альтернативно вы можете использовать:

  ps -a [PID]
 

 введите описание изображения здесь>> </a> </p></div>
										<div class=ответил Pedro Lobito 18 AMpSat, 18 Apr 2015 05:16:04 +030016Saturday 2015, 05:16:04

7
  # ls -la /proc /ID_GOES_HERE /exe
 

Пример:

  # ls -la /proc /1374 /exe
lrwxrwxrwx 1 chmm chmm 0 Mai 5 20:46 /proc /1374 /exe -> /USR /бен /Телеграмма-рабочий стол
 
ответил Carlos H. M. Moreira 6 Mayam16 2016, 03:14:20
5

Вы можете использовать pmap. Я ищу PID 6649. И отрезаю дополнительные детали процесса.

  $ pmap 6649 | голова -1
6649: /usr /lib64 /firefox /firefox
 
ответил Mike Studer 27 Mayam17 2017, 07:28:29
3

Вы также можете использовать awk в сочетании с ps

  ps aux | awk '$ 2 == Номер PID для процесса {print $ 0}'
 

пример:

  root @ cprogrammer: ~ # ps aux | awk '$ 2 == 1 {print $ 0}'
корень 1 0,0 0,2 24476 2436? Ss 15:38 0:01 /sbin /init
 

для печати HEAD LINE вы можете использовать

  ps - headers aux | head -n 1 & amp; & amp; & amp; ps aux | awk '$ 2 == 1 {print $ 0}'

                 (или)

 ps - headers aux | head -n 1; ps aux | awk '$ 2 == 1 {print $ 0}'


root @ cprogrammer: ~ # ps - headers aux | head -n 1 & amp; & amp; & amp; ps aux | awk '$ 2 == 1 {print $ 0}'
USER PID% CPU% MEM VSZ RSS TTY STAT START TIME COMMAND
корень 1 0,0 0,2 24476 2436? Ss 15:38 0:01 /sbin /init
 
ответил Gangadhar 17 PM00000010000005931 2013, 13:32:59
2

Символ ответ slhck , но полагаясь на операции с файлами, а не на вызовы команд:

  MYPID = 1
cat "/proc /$ MYPID /comm"
 
ответил ThorSummoner 31 AM00000020000005031 2015, 02:31:50
1

Удивительно, но никто не упомянул опцию -f (полная команда) для ps. Мне нравится использовать его с -e (все) и передавать результаты в grep, чтобы я мог сузить свой поиск.

  ps -ef | grep <PID>
 

Это также очень полезно для просмотра полных команд, которые кто-то запускает, которые занимают много ресурсов в вашей системе. Это покажет вам параметры и аргументы, переданные команде.

ответил jdelaporte 24 FebruaryEurope/MoscowbWed, 24 Feb 2016 00:47:17 +0300000000amWed, 24 Feb 2016 00:47:17 +030016 2016, 00:47:17
0

Я нахожу самый простой способ для следующей команды:

  ps -awxs | grep pid
 
ответил user666282 21 12016vEurope/Moscow11bEurope/MoscowMon, 21 Nov 2016 12:48:46 +0300 2016, 12:48:46
0

сделал простой скрипт для поиска PID и использования в сценариях bash ...
используйте с осторожностью !!

Снимок экрана:
 Снимок экрана

http: //pastebin .com /Cm9YH67U

Andrà ©

ответил André Verwijs 26 MonEurope/Moscow2016-12-26T18:08:43+03:00Europe/Moscow12bEurope/MoscowMon, 26 Dec 2016 18:08:43 +0300 2016, 18:08:43

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132