Найти - Пользователи
Полная версия: Какой модуль нужно использовать?
Начало » Python для новичков » Какой модуль нужно использовать?
1 2
vak
Подскажите плиз какой (или какие) модуль нужно использовать, если требуется реализовать следующие функции:
1.Определять наличие или отсутствие конкретного открытого порта (tcp/utp)
2.Определить номер процесса, который открыл порт
3.Размер потребляемой памяти по номеру процесса

Операционная система: Linux/Debian
agalen
Попробуй psutil: http://code.google.com/p/psutil/
o7412369815963
я бы консольные утилиты заюзал, например netstat, ps
vak
o7412369815963
я бы консольные утилиты заюзал, например netstat, ps
Возможно так и придется поступить…
vak
agalen
Попробуй psutil: http://code.google.com/p/psutil/
Не нашел в нем возможность проверять открыт конкретный tcp порт или нет. Может недоглядел?
Андрей Светлов
открытость порта проверяется успешным socket.bind на него с последующим закрытием сокета.
vak
Андрей Светлов
открытость порта проверяется успешным socket.bind на него с последующим закрытием сокета.
Да, вроде получается.
Осталось подобрать решение для определения сколько процесс использует памяти.

Интересно, имеется ли возможность определить номер процесса по номеру открытого им порта?
Андрей Светлов
>>> import psutil
>>> import os
>>> p = psutil.Process(os.getpid())
>>> p.get_memory_info()
(16719872, 71667712)
vak
Андрей Светлов
>>> import psutil
>>> import os
>>> p = psutil.Process(os.getpid())
>>> p.get_memory_info()
(16719872, 71667712)
А без psutil можно? Проблемы при установке psutil возникли (32-x -> 64-x) , может конечно ерунда - не разбирался.
Андрей Светлов
Все можно. Открываете исходники psutil и копируете оттуда код в свой велосипед.
У меня проблем не было как на 32 так и на 64 битах.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB