Process.CountEx

From: Victor Kirhenshtein <victor_at_DOMAIN_REMOVED>
Date: Fri, 12 Jan 2007 13:38:27 +0200

Hello!
 
Переписка по этому вопросу, для доп. информации. Вкратце: появилась возможность считать прочессы не только по названию процесса, но и по командной строке и названию окна, причем все критерии - regexp'ы. Например:
 
Process.CountEx("^nx") - все процессы название которых начинается на nx
Process.CountEx("^cmd.exe$", "nslookup") - все процессы cmd.exe в командной строке которых есть строчка nslookup
Process.CountEx(,,"mail") - все процессы заголовок окна которых содержит строку mail
 
Пока что реализовано только для Windows, постепенно будем делать для других ОС.
 
Best regards,
Victor
 
P.S. Может все такие обсуждения стоит cc в mailing list делать?
 
 
-----Original Message-----
From: Victor Kirhenshtein
Sent: Thursday, 11 January, 2007 20:54
To: 'Edgar Chupit'
Subject: RE: Process.Count / Process.VMSize / ...

Hi!
 
Патч добавил, с некоторыми изменениями:
1. Process.Count оставил как есть, и сделал новый параметр Process.CountEx, который принимает три аргумента. Сделано это для backward compatibility, поскольку используется regexp для фильтра имени процесса, то Process.CountEx(far.exe) посчитант и процессы far.exe, и процессы my_far.exe, и т.д. Process.Count по прежнему использует точное соответствие имени.
 
2. Все остальные Process.XXX получили третий и четвертый аргументы, но первый аргумент используется как regexp только если есть 3 или 4 аргумент - иначе используется точное соответствие имени - все для той-же backward compatibility. Возможно не очень удачное решение, но ничего лучше в голову не пришло.
 
Best regards,
Victor
 
P.S. Я сейчас не очень оперативно реагирую, поскольку сильно много дел на работе и по NetXMS-related проектам, но я обязательно буду на все реагировать, только постепенно. :)

        -----Original Message-----
        From: Edgar Chupit [mailto:chupit_at_gmail.com]
        Sent: Wednesday, 10 January, 2007 22:04
        To: Victor Kirhenshtein
        Subject: Re: Process.Count / Process.VMSize / ...
        
        
        Вот реализация этой функции для Windows. Из замечаний, в принципе H_ProcInfo и H_ProcCountSpecific хорошо бы объядинить в одну функцию, но для этого надо что бы они совпадали по параметрам. Сейчас получается,
        
        H_ProcInfo - Process.VMSize/... ( $1, $2, $3, $4 )
        $1 - image name
        $2 - min/max/avg/...
        $3 - command line
        $4 - window title
        
        H_ProcCountSpecific( $1, $2, $3 )
        $1 - image name
        $2 - command line
        $3 - window title
        
        $3 - windows title добавил, потому что мне через это БУДЕТ удобнее мониторить пару процессов.
        
        Функцию RegexpMatch из procinfo.cpp наверное надо бы вынести отдельно в библиотеку утилит.
        
        В принципе мне особо под "другие" ОС пока не надо, но если надо, то я могу посмотреть и попробовать реализовать это под linux, в принципе думаю, что ничего там сложного нет.
        
        Под другими осями мне сложнее, у меня их под рукой просто нету.
        
        
        On 1/10/07, Victor Kirhenshtein <victor_at_opticom.lv > wrote:

                Это похоже тот кто вписывал эту строчку в TODO ошибся, а я не подумал когда ответ писал. В предыдущем письме третий параметр считать вторым :)
                Отдельной функции нет, надо использовать regcomp/regexec/regfree. Пример можно посмотреть в src/libnxsl/program.cpp метод MatchRegexp.
                 
                Best regards,
                Victor

        --
        Best regards,
        Edgar Chupit
        callto://edgar.chupit
Received on Fri Jan 12 2007 - 13:38:27 EET

This archive was generated by hypermail 2.2.0 : Fri Jan 12 2007 - 13:51:22 EET