|
|
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
Привет! Можно ли, обрабатывая сигнал в shell trap-ом узнать id процесса, пославшего сигнал (типа как siginfo_t.si_pid при обработке sigaction) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 15:32:52 |
|
||
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
--null--Привет! Можно ли, обрабатывая сигнал в shell trap-ом узнать id процесса, пославшего сигнал (типа как siginfo_t.si_pid при обработке sigaction) ??? Да вроде нет, я по крайней мере в мане про то ничего не нашел... Или ты это так спросил - для поддержания разговора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 15:55:45 |
|
||
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
да нет, тут коллеге понадобилось и что-то интересно стало - возможно ли такое в шелле... В мане по трапу конечно ничего нет я думал может еще как-то. Например, какая-нить переменная "процесс, от которого получен последний сигнал" или что-нить такое... Вышли из ситуации пока так: кандидаты на подобное место - runnable процессы. Что конечно очень грубо и цинично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 16:20:41 |
|
||
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
--null-- Вышли из ситуации пока так: кандидаты на подобное место - runnable процессы. Что конечно очень грубо и цинично. Поясни плиз, если не трудно. Типа предполагается, что процесс у кого STATE есть R тот и послал сигнал что ли? Или где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 18:48:55 |
|
||
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
ага, это конечно наивняк, но тут мы предполагаем, что runnable процесс как раз и мог послать сигнал. Мне это тоже не очень нравится. А чтобы было понятно, для чего эта шняга: аффтор хочет при получении сигнала чтобы скрипт отбросил мессагу на тот терминал, с которого поступил сигнал (т.е. реально PID нужен ему лишь для определения терминала). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 19:37:18 |
|
||
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
--null--ага, это конечно наивняк, но тут мы предполагаем, что runnable процесс как раз и мог послать сигнал. Мне это тоже не очень нравится. А чтобы было понятно, для чего эта шняга: аффтор хочет при получении сигнала чтобы скрипт отбросил мессагу на тот терминал, с которого поступил сигнал (т.е. реально PID нужен ему лишь для определения терминала). Аффтор жжет? (с) Мне кажется если сигнал скрипту посылать kill-ом или killall-ом, то указанные команды завершатся раньше чем скрипт обработает вывод от ps... Или оно уже проверено и работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 20:33:55 |
|
||
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
он грит что работает. Проверю-ка я тоже, потому что насчет завершения согласен. Это ж ps породить - достаточно долго. Абыдна что в трапе такого не сделали и главное - тут уж никак shell не расширить, свой обработчик в него не внедрить (по крайней мере я не умею :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 20:48:31 |
|
||
|
shell обработка сигналов
|
|||
|---|---|---|---|
|
#18+
--null-- он грит что работает. Чего то мне интересно стало. Набросал щас небольшую прогу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Откомпилил, запутил. На другом терминале набрал killall sigtst... Вобщем почти всегда не успевает даже в этом случае (C + прямое сканирование /proc). Где то один раз из ста определяет терминал с которого послан сигнал. Разве что запустить killall -w sigtst - но это нечестно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2005, 21:02:50 |
|
||
|
|

start [/forum/topic.php?fid=25&gotonew=1&tid=1490489]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 198ms |
| total: | 337ms |

| 0 / 0 |
