The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Получение имени процесса по его PID"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Получение имени процесса по его PID" 
Сообщение от PoizOn emailИскать по авторуВ закладки(ok) on 21-Мрт-05, 15:26  (MSK)
Решил написать (просто для себя) Диспетчер задач (аля Windows) но для никсов на Perl  c красивым GUI. Как получить PID всех процессов понятно (ls /proc) но вот как получить имена этих процессов? Я не хотел бы использовать ps и парсить ее вывод (считаю не очень красивым решением) - может есть какой-нить модуль для работы с процессами (получение PID, имени и прочих атрибутов) на Perl или вообще встроенные средства самого языка?
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Получение имени процесса по его PID" 
Сообщение от zvd Искать по авторуВ закладки on 21-Мрт-05, 16:41  (MSK)
так там же, в /proc все и есть
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Получение имени процесса по его PID" 
Сообщение от PoizOn emailИскать по авторуВ закладки(ok) on 21-Мрт-05, 16:44  (MSK)
>так там же, в /proc все и есть
Нашел. Это
Proc::ProcessTable модуль: вот вывод какой к примеру может дать:
PID    TTY        STAT     START                    COMMAND
61741  /dev/ttyp2 nochan   Mon Mar 21 16:43:56 2005 perl test.pl
61738  /dev/ttyp1 ttyin    Mon Mar 21 16:42:55 2005 more /tmp/perldoc1.61731
61731  /dev/ttyp1 wait     Mon Mar 21 16:42:55 2005 /usr/bin/perl /usr/bin/perldoc Proc::ProcessTable
61485  /dev/ttyp2 pause    Mon Mar 21 16:17:10 2005 /bin/csh
61415             poll     Wed Dec 31 23:59:59 1969 kdeinit: kio_file file /tmp/ksocket-poizon/klauncherzKVVJA.slave-socket /tmp/ksocket-poizon/krusaderyLzxwQ.slave-socket
61313  /dev/ttyp1 pause    Mon Mar 21 14:31:31 2005 _su
58823             poll     Mon Mar 21 12:34:06 2005 kdeinit: kio_uiserver
54883  /dev/ttyp0 select   Mon Mar 21 10:32:56 2005 centericq
54839             poll     Mon Mar 21 10:02:57 2005 ./mozilla-bin

А использование простое как стакан :-):

my $FORMAT = "%-6s %-10s %-8s %-24s %s\n";
        $t = new Proc::ProcessTable;
        printf($FORMAT, "PID", "TTY", "STAT", "START", "COMMAND");
        foreach $p ( @{$t->table} ){
          printf($FORMAT,
                 $p->pid,
                 $p->ttydev,
                 $p->state,
                 scalar(localtime($p->start)),
                 $p->cmndline);
        }

Всем пасиб :-)


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Получение имени процесса по его PID" 
Сообщение от ACCA Искать по авторуВ закладки(ok) on 23-Мрт-05, 01:16  (MSK)
>Решил написать (просто для себя) Диспетчер задач (аля Windows) но для

А ты не пробовал нажать Ctrl+Esc в KDE?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Получение имени процесса по его PID" 
Сообщение от PoizOn emailИскать по авторуВ закладки(ok) on 23-Мрт-05, 09:25  (MSK)
>>Решил написать (просто для себя) Диспетчер задач (аля Windows) но для
>
>А ты не пробовал нажать Ctrl+Esc в KDE?
Пробовал - но я же написал ->просто для себя<- то есть для того чтобы просто поупражняться с Tk :).


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру