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