1

Как программно узнать pid процесса по его имени?

2 (28.09.2010 05:10:44 отредактировано gramozeka)

ps -e | grep <имя>

подробнее об опциях команды ps :

man ps

пример :

 Консоль:

root@host:~# ps -e | grep firefox
10488 ?        00:00:00 firefox
10505 ?        00:00:10 firefox-bin

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

3

gramozeka, мне и сказать нечего... плюсую...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

4 (28.09.2010 09:45:21 отредактировано xbill)

Вопрос в разделе программирование, поэтому автор, вероятно, хотел узнать как определить pid из своей програмы.

можно, конечно вызвать ps из программы но это слишком коряво, наверняка есть соответствующий системный вызов (если кто знает подскажите).

В крайнем случае можно прочитать каталог proc там есть для каждого процесса ссылка exe на имя исполняемого файла .

5

Вот тут можно глянуть.

6

xbill пишет:

Вопрос в разделе программирование, поэтому автор, вероятно, хотел узнать как определить pid из своей програмы.

bash это не ЯП? это мы здесь обсудим: http://linuxforum.ru/viewtopic.php?id=3817

что касается C, то далеко ходить не надо:

GETPID(2)                                   Linux Programmer's Manual                                  GETPID(2)

NAME
       getpid, getppid - get process identification

вы разве не поставили вместе с gcc ещё и мануал? зря...
Какой именно ЯП интересует?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7

PS:
в man'е есть поиск:

$ man -k pid

и есть секции:

MANUAL SECTIONS
       The standard sections of the manual include:
       1      User Commands
       2      System Calls
       3      C Library Functions
       4      Devices and Special Files
       5      File Formats and Conventions
       6      Games et. Al.
       7      Miscellanea
       8      System Administration tools and Deamons

Отныне любой обращённый ко мне вопрос, я буду расценивать как объявленье войны.
(С)СашБаш
(если ответ на него за 0.1 секунду берётся в мане)
ну или пишите: "начальник запретил Linux, сижу в windows, ссылку на man'ы забыл, в гугле забанили"

bx

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

8

Ещё pidof.

Пётр.

Пётр.

9

xbill пишет:

Вопрос в разделе программирование, поэтому автор, вероятно, хотел узнать как определить pid из своей програмы.

можно, конечно вызвать ps из программы но это слишком коряво, наверняка есть соответствующий системный вызов (если кто знает подскажите).

В крайнем случае можно прочитать каталог proc там есть для каждого процесса ссылка exe на имя исполняемого файла .


Да пожалуй через proc самое то.

10

xbill пишет:

Вопрос в разделе программирование, поэтому автор, вероятно, хотел узнать как определить pid из своей програмы.

можно, конечно вызвать ps из программы но это слишком коряво, наверняка есть соответствующий системный вызов (если кто знает подскажите).

В крайнем случае можно прочитать каталог proc там есть для каждого процесса ссылка exe на имя исполняемого файла .

Я сейчас посмотрел - не для каждого. Вот в status имя программы без пути есть.

Пётр.

Пётр.

11 (29.09.2010 13:16:05 отредактировано xbill)

Peter пишет:

Я сейчас посмотрел - не для каждого


Я тоже посмотрел, похоже что ссылок нет у процессов запущенные ядром при старте.

Обычные процессы имеют ссылку на исполняемый файл.

12

можно было-бы не смотреть, а почитать (хотя мана тут мало). где-то был мануал на эту тему, там написано не только КАК, но и ПОЧЕМУ (что-то там с безопасностью, не вдавался). в любом случае, если встал такой вопрос, то можно посмотреть исходники ps - она-же как-то узнаёт?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

13

drBatty пишет:

то можно посмотреть исходники ps - она-же как-то узнаёт?

если мне потребуется, то так и сделаю ab.