Есть .so либа.
Как внутри нее узнать имя процесса, в который она загружена?
Спасибо!
Как получить имя процесса из .so библиотеки? (на c)
Модератор: Модераторы разделов
-
AleXXandEr
- Сообщения: 79
- ОС: Debian sarge 3.1
Re: Как получить имя процесса из .so библиотеки?
$ lsof /usr/lib/libGL.so
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
ksmserver 3774 alex mem REG 8,1 900376 5636136 /usr/lib/libGL.so.180.29
kwin 3776 alex mem REG 8,1 900376 5636136 /usr/lib/libGL.so.180.29
если я тя прально понял
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
ksmserver 3774 alex mem REG 8,1 900376 5636136 /usr/lib/libGL.so.180.29
kwin 3776 alex mem REG 8,1 900376 5636136 /usr/lib/libGL.so.180.29
если я тя прально понял
-
lsh
- Сообщения: 23
Re: Как получить имя процесса из .so библиотеки?
Спасибо.
Не то. Я пишу библиотеку и внутри одной из ее ф-й мне надо узнать имя екзешника.
В моем случае оказалось все проще, т.к. в GTK есть g_get_prgname () и мне вполне подходит.
Но это не универсально. Я думаю, вопрос можно оставить открытым (для общего развития).
Не то. Я пишу библиотеку и внутри одной из ее ф-й мне надо узнать имя екзешника.
В моем случае оказалось все проще, т.к. в GTK есть g_get_prgname () и мне вполне подходит.
Но это не универсально. Я думаю, вопрос можно оставить открытым (для общего развития).
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Как получить имя процесса из .so библиотеки?
Ну вариант - вызвать getpid() и прочитать файл /proc/<pid>/cmdline.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Как получить имя процесса из .so библиотеки?
проще : /proc/self/cmdline
Но это только в linux.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED