The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Получение pidов children процессов"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Получение pidов children процессов"  
Сообщение от MIA on 26-Янв-09, 13:30 
Добрый день, сталкивался ли кто либо с получением информации, о children процессов имея на руках тока parent процесс?
Интересует информация как это сделать из user-mode. Спасибо.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Получение pidов children процессов"  
Сообщение от Andrey Mitrofanov on 26-Янв-09, 13:42 
$ pstree -p $$
sh(5915)---pstree(5916)
$ _
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Получение pidов children процессов"  
Сообщение от MIA on 26-Янв-09, 13:45 
>$ pstree -p $$
>sh(5915)---pstree(5916)
>$ _

Отлично, но можно ли это сделать не используя Perl (пишу на Си)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Получение pidов children процессов"  
Сообщение от phpcoder email(??) on 26-Янв-09, 13:54 
>>$ pstree -p $$
>>sh(5915)---pstree(5916)
>>$ _
>
>Отлично, но можно ли это сделать не используя Perl (пишу на Си)

Я буду удивлён, если исходники pstree на Перле :)

P.S. 99%, что всё что можно сделать на Перле можно сделать и на Си (а вот обратное не всегда верно).


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Получение pidов children процессов"  
Сообщение от MIA on 26-Янв-09, 14:07 
>>>$ pstree -p $$
>>>sh(5915)---pstree(5916)
>>>$ _
>>
>>Отлично, но можно ли это сделать не используя Perl (пишу на Си)
>
>Я буду удивлён, если исходники pstree на Перле :)
>
>P.S. 99%, что всё что можно сделать на Перле можно сделать и
>на Си (а вот обратное не всегда верно).

Думаю, я тогда Вас удивлю , исходники тут - http://www.tonns.org/ptree/ , написаны на perl, работают, "тупой" переборкой /proc . Переборку писать не хочу, хотя там один файл всего обрабатывать, но все же....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Получение pidов children процессов"  
Сообщение от phpcoder email(??) on 26-Янв-09, 14:50 
>>>>$ pstree -p $$
>>>>sh(5915)---pstree(5916)

[...]
>Думаю, я тогда Вас удивлю , исходники тут - http://www.tonns.org/ptree/ , написаны
>на perl, работают, "тупой" переборкой /proc .

"pstree" != "ptree"
;-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Получение pidов children процессов"  
Сообщение от const86 (ok) on 27-Янв-09, 09:08 
>P.S. 99%, что всё что можно сделать на Перле можно сделать и на Си (а вот обратное не всегда верно).

100%

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Получение pidов children процессов"  
Сообщение от angra (??) on 27-Янв-09, 10:42 
Получить от пользователя имя глобальной переменной и вывести ее тип и содержимое. Задача конечно умозрительная, но в 1% входит, так что удачи на C.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Получение pidов children процессов"  
Сообщение от const86 (ok) on 27-Янв-09, 11:48 
Задача вообще некорректная. Переменные существуют внутри процесса и смотреть на них снаружи никому не нужно ни при каких обстоятельствах (кроме отладки, конечно).
И тем не менее, dlopen(NULL,...) + dlsym(...).
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Получение pidов children процессов"  
Сообщение от angra (ok) on 27-Янв-09, 19:00 
Решение тоже некорректное, с тем же успехом можно было использовать какую либо реализацию хешей(именованные массивы) и сделать вид что элементы хеша и есть переменные. Я думаю вы прекрасно поняли, что пример намекал на различия между интерпретируемыми и компилируемыми языками. Можно придумать целый ряд задач с более жесткими условиями, которые решаются на интерпретируемых(по крайней мере на некоторых), но не на компилируемых языках. Так что все-таки 99%, а не 100%.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Получение pidов children процессов"  
Сообщение от const86 (ok) on 27-Янв-09, 22:42 
> Я думаю вы прекрасно поняли, что пример намекал на различия между интерпретируемыми и компилируемыми языками.

Да. Теперь ваша очередь понять, на что я намекал :)
Вот я написал программу на C, скомпилировал и дал вам. Как вы будете проверять, корректно ли она решает вашу задачу?
Программа - это преобразователь информации, получающий и отдающий данные посредством определённых "побочных эффектов" (системных вызовов). В вашей задаче есть малюсенькое упущение - не определено требуемое преобразование.
А так у вас получилась задача "написать программу на перле" и вы предлагаете решить её на C.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Получение pidов children процессов"  
Сообщение от Andrey Mitrofanov on 26-Янв-09, 14:15 
>Отлично, но можно ли это сделать не используя Perl (пишу на Си)

Перл Вам примерещился.

$ file `which pstree`
/usr/bin/pstree: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 2.4.1, stripped
$ ldd `which pstree`
        linux-gate.so.1 =>  (0xb7fe0000)
        libncurses.so.5 => /usr/lib/libncurses.so.5 (0xb7f8f000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e5e000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e59000)
        /lib/ld-linux.so.2 (0xb7fe1000)
$ pstree -V
pstree (PSmisc) 22.3
Copyright (C) 1993-2005 Werner Almesberger and Craig Small

PSmisc comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under
the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.
$ _

Си - не Си, не знаю, но компилируемый язык точно. Вероятнее всего именно на Си оно и сделано. (Ответ: "можно".)

Изучите требования GNU GPL и переходите к изучению исходников psmisc, если уж так "надо", и дурной постановщик задачи кодеру покоя не даёт.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру