( Linux ) получить имя процесса по его PID, или по PID получить имя процесса |
Здравствуйте, гость ( Вход | Регистрация )
( Linux ) получить имя процесса по его PID, или по PID получить имя процесса |
carveau |
9.12.2009, 9:39
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 9.12.2009 Пользователь №: 1292 Спасибо сказали: 0 раз(а) Репутация: 0 |
Пишу на Qt программу мониторинга работы Linux серверов, необходимо узнать запущен ли процесс к примеру mysqld .
Может есть в Qt что нибудь что может мне помочь, или какие нибудь linux-вые структуры, которые умеют читать информацию из /proc/pid/cmdline. |
|
|
BRE |
9.12.2009, 9:43
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Может есть в Qt что нибудь что может мне помочь, или какие нибудь linux-вые структуры, которые умеют читать информацию из /proc/pid/cmdline. Ты спрашиваешь, как прочесть текстовую строку из файла? Посмотри на QFile, можно еще посмотреть на QTextStream (но это уже избыточно). |
|
|
ЙаМайскЫйПчОЛ |
9.12.2009, 9:45
Сообщение
#3
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
Могу только подсказать прогу где это реализовано qps - посмотри сырцы
|
|
|
carveau |
9.12.2009, 9:49
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 9.12.2009 Пользователь №: 1292 Спасибо сказали: 0 раз(а) Репутация: 0 |
Может есть в Qt что нибудь что может мне помочь, или какие нибудь linux-вые структуры, которые умеют читать информацию из /proc/pid/cmdline. Ты спрашиваешь, как прочесть текстовую строку из файла? Посмотри на QFile, можно еще посмотреть на QTextStream (но это уже избыточно). Нет я не про то как читать из файла. Мне бы хотелось уйти от этого способа, просто по коду это выглядеть будет не красиво, этот вариант я оставляю на последнее если ни получится найти других системных решений. Я делал это системно под QNX через devctl, но ядра этих двух операционных систем очень сильно отличаются, и в Linux нет таких хедеров... Могу только подсказать прогу где это реализовано qps - посмотри сырцы исходники qps есть на crossplatform ? |
|
|
ЙаМайскЫйПчОЛ |
9.12.2009, 11:14
Сообщение
#5
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
|
|
|
carveau |
9.12.2009, 11:18
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 9.12.2009 Пользователь №: 1292 Спасибо сказали: 0 раз(а) Репутация: 0 |
Могу только подсказать прогу где это реализовано qps - посмотри сырцы нашел исходники QPS, она обходит каталог /proc и читает файл cmdline спасибо ты дал мне ссылку на более новую версию чем скачал я ! счас посмотрим исходники |
|
|
ЙаМайскЫйПчОЛ |
9.12.2009, 11:30
Сообщение
#7
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
carveau,
Цитата нашел исходники QPS, она обходит каталог /proc и читает файл cmdline или какие нибудь linux-вые структуры, которые умеют читать информацию из /proc/pid/cmdline. это плохо??? сайт проекта http://kldp.net/projects/qps/wiki Я делал это системно под QNX через devctl, но ядра этих двух операционных систем очень сильно отличаются, и в Linux нет таких хедеров... ты смотрел в сторону ioctl ? http://www.qnx.com/developers/docs/6.4.0/n...ef/i/ioctl.html какую структуру ты использовал под QNX? Сообщение отредактировал ЙаМайскЫйПчОЛ - 9.12.2009, 11:32 |
|
|
carveau |
9.12.2009, 11:36
Сообщение
#8
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 9.12.2009 Пользователь №: 1292 Спасибо сказали: 0 раз(а) Репутация: 0 |
procfs_debuginfo dinfo;
обходим /proc получаем именя всех папок - эти имена и будут являтся всеми PID запущенных процессов // DCMD_PROC_MAPDEBUG_BASE - вызов для получения информации, имеющую отношение к пути, // связанному с процессом, связанным с данным описанием файла devctl( fd, DCMD_PROC_MAPDEBUG_BASE, &dinfo, sizeof( dinfo ), NULL ); и в dinfo вся информация которая мне нужна. |
|
|
ЙаМайскЫйПчОЛ |
9.12.2009, 11:50
Сообщение
#9
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
http://www.phy.ohiou.edu/cgi-bin/man-cgi.sol?core+4
prpsinfo_t http://www.computing.net/answers/unix/get-...-proc/1550.html наверно гдето сдесь |
|
|
carveau |
9.12.2009, 11:56
Сообщение
#10
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 9.12.2009 Пользователь №: 1292 Спасибо сказали: 0 раз(а) Репутация: 0 |
http://www.phy.ohiou.edu/cgi-bin/man-cgi.sol?core+4 prpsinfo_t http://www.computing.net/answers/unix/get-...-proc/1550.html наверно гдето сдесь Спасибо огромное, мельком глянул вторая ссылка должна быть интересной !!! Счас буду пробывать результат сообщу !!! |
|
|
Текстовая версия | Сейчас: 26.12.2024, 15:02 |