Возможно вы искали: 'Backyard Football'

May 15 2025 19:07:04
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » В поисках соединений между процессами в OC Linux (socket linux proc process debug)

В поисках соединений между процессами в OC Linux (socket linux proc process debug)

Ключевые слова: socket, linux, proc, process, debug, (найти похожие документы)

From: Гордеев Александр <avgordeev@dom.raid.ru.>
Newsgroups: email
Date: Mon, 15 Jan 2007 14:31:37 +0000 (UTC)
Subject: В поисках соединений между процессами в OC Linux

Оригинал: http://www.avgordeev.dom.raid.ru/unix_socket_peer.htm

В поисках соединений между процессами в OC Linux, осуществляемых
посредством unix сокетов.

Aвтор: Гордеев Александр

Для тех кому по какой либо причине интересно узнать пары unix сокетов в
linux-e предлагаю внести изменения в файл ядра linux/net/unix/af_unix.c.
предложенные изменения дают возможность командой cat /pro/unix_peer
вывести список сокетов, аналогичный тому, что выводится командой cat
/proc/unix, но показывающий еще и сокеты, ссылка на которые в структуре
unix_socket обозначена как peer.

Хочется верить, что указанная информация поможет анализировать связь
между процессами посредством unix сокетов.
Ниже представлен листинг утилиты diff для иллюстрации предлагаемых
изменений.


af_unix.c.orig 2007-01-07 14:23:03.000000000 +0500
--- af_unix.c 2007-01-07 21:12:00.000000000 +0500
***************
1978,1983 ****
--- 1978,2007 ----
return 0;
}

+ static int unix_peer_seq_show(struct seq_file *seq, void *v)
+ {
+
+ if (v == (void *)1)
+ seq_puts(seq, "Num Inode Peer PeerInode n");
+ else {
+ struct sock *s = v;
+ struct unix_sock *u = unix_sk(s);
+ unix_state_rlock(s);
+
+ seq_printf(seq, "%p %5lu %p %5lu ",
+ s,
+ sock_i_ino(s),
+ u->peer,
+ ( (u->peer==NULL) ? ( unsigned long ) 0 : sock_i_ino(u-
>peer) )
+ );
+
+ unix_state_runlock(s);
+ seq_putc(seq, 'n');
+ }
+
+ return 0;
+ }
+
static struct seq_operations unix_seq_ops = {
.start = unix_seq_start,
.next = unix_seq_next,
***************
1985,1990 ****
--- 2009,2020 ----
.show = unix_seq_show,
};

+ static struct seq_operations unix_peer_seq_ops = {
+ .start = unix_seq_start,
+ .next = unix_seq_next,
+ .stop = unix_seq_stop,
+ .show = unix_peer_seq_show,
+ };

static int unix_seq_open(struct inode *inode, struct file *file)
{
***************
2009,2014 ****
--- 2039,2067 ----
goto out;
}

+ static int unix_peer_seq_open(struct inode *inode, struct file *file)
+ {
+ struct seq_file *seq;
+ int rc = -ENOMEM;
+ int *iter = kmalloc(sizeof(int), GFP_KERNEL);
+
+ if (!iter)
+ goto out;
+
+ rc = seq_open(file, &unix_peer_seq_ops);
+ if (rc)
+ goto out_kfree;
+
+ seq = file->private_data;
+ seq->private = iter;
+ *iter = 0;
+ out:
+ return rc;
+ out_kfree:
+ kfree(iter);
+ goto out;
+ }
+
static struct file_operations unix_seq_fops = {
.owner = THIS_MODULE,
.open = unix_seq_open,
***************
2017,2022 ****
--- 2070,2083 ----
.release = seq_release_private,
};

+ static struct file_operations unix_peer_seq_fops = {
+ .owner = THIS_MODULE,
+ .open = unix_peer_seq_open,
+ .read = seq_read,
+ .llseek = seq_lseek,
+ .release = seq_release_private,
+ };
+
#endif

static struct net_proto_family unix_family_ops = {
***************
2045,2050 ****
--- 2106,2112 ----
sock_register(&unix_family_ops);
#ifdef CONFIG_PROC_FS
proc_net_fops_create("unix", 0, &unix_seq_fops);
+ proc_net_fops_create("unix_peer", 0, &unix_peer_seq_fops);
#endif
unix_sysctl_register();
out:
***************
2056,2061 ****
--- 2118,2124 ----
sock_unregister(PF_UNIX);
unix_sysctl_unregister();
proc_net_remove("unix");
+ proc_net_remove("unix_peer");
proto_unregister(&unix_proto);
}




Изменения вносились в ядро из дистрибутива Fedora Core 5. Ядро 2.6.15
пропатченное до 2.6.16.

Командная строка, представленная ниже, иллюстрирует возможность просмотра
пар связанных процессов.


perl -e 'if(open PS,"ps ax -o pid,cmd|")'
' {while(<PS>)'
' {$ps{$1}=$2 if /^s*(d+)s(.+)$/'
' };'
' if(open LSOF,"/usr/sbin/lsof -UFpfi|")'
' {while(<LSOF>)'
' {$p=$1 if /^p(.+)$/;'
' $d=$1 if /^f(.+)$/;'
' $sk_pr{$1}=[$p,$d] if /^i(.+)$/'
' };'
' if(open PEER,"</proc/net/unix_peer" )'
' {while(<PEER>)'
' {@peer=split;'
' push
@c,[$sk_pr{$peer[1]}->[0],$sk_pr{$peer[1]}->[1],$sk_pr{$peer[3]}->[0],
$sk_pr{$peer[3]}->[1]]'
' };'
' for $i(@c)'
' {print $i->[0]."->".$i->[1]." ".$ps{$i->[0]}."n
=>".$i->[2]."->".$i->[3]." ".$ps{$i->[2]}."n"'
' }'
' }'
' }'
' }'




Вывод команды выглядит премерно так:


...
3972->5 /usr/sbin/pppd .....
=>1503->0 syslogd -m 0
...




Понаблюдать взаимодействие процессов можно с помощью командной строки:


strace -e trace=send,recv -p 1503 -p 3972




Вывод будет примерно таким:


Process 1503 attached - interrupt to quit
Process 3972 attached - interrupt to quit
[pid 1503] recv(0, <unfinished ...>
[pid 3972] --- SIGTERM (Terminated) @ 0 (0) ---
[pid 1503] <... recv resumed> "<29>Jan 8 10:21:27 adsl-stop: K"..., 1022, 0) = 43
[pid 3972] send(5, "<30>Jan 8 10:21:27 pppd[3972]: "..., 56, MSG_NOSIGNAL) = 56
[pid 3972] send(5, "<30>Jan 8 10:21:27 pppd[3972]: "..., 57, MSG_NOSIGNAL) = 57
[pid 3972] send(5, "<30>Jan 8 10:21:27 pppd[3972]: "..., 63, MSG_NOSIGNAL) = 63
[pid 1503] recv(0, "<29>Jan 8 10:21:27 adsl-stop: K"..., 1022, 0) = 51
[pid 1503] recv(0, "<30>Jan 8 10:21:27 pppd[3972]: "..., 1022, 0) = 56
[pid 1503] recv(0, "<30>Jan 8 10:21:27 pppd[3972]: "..., 1022, 0) = 57
[pid 3972] send(5, "<29>Jan 8 10:21:27 pppd[3972]: "..., 54, MSG_NOSIGNAL) = 54
[pid 1503] recv(0, "<30>Jan 8 10:21:27 pppd[3972]: "..., 1022, 0) = 63
[pid 1503] recv(0, "<29>Jan 8 10:21:27 pppd[3972]: "..., 1022, 0) = 54
[pid 3972] --- SIGCHLD (Child exited) @ 0 (0) ---
[pid 1503] recv(0, "<30>Jan 8 10:21:29 pppoe[3973]:"..., 1022, 0) = 84
[pid 1503] recv(0, "<30>Jan 8 10:21:29 pppoe[3973]:"..., 1022, 0) = 42
[pid 3972] --- SIGCHLD (Child exited) @ 0 (0) ---
[pid 3972] send(5, "<30>Jan 8 10:21:29 pppd[3972]: "..., 37, MSG_NOSIGNAL) = 37
[pid 1503] recv(0, Process 3972 detached
"<30>Jan 8 10:21:29 pppd[3972]: "..., 1022, 0) = 37
Process 1503 detached




Во время работы утилиты strace произошло отключение от интернета и
демон pppd был остановлен.
1239 Прочтений •  [В поисках соединений между процессами в OC Linux (socket linux proc process debug)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• В поисках соединений между процесса... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка