- как убить PID thread?, guest, 09:54 , 25-Окт-11 (1)
Действительно интересно. tgkill() в ядре давно есть, т.е. послать сигнал конкретному треду можно, а вот что будет мъютексами и прочими ресурсами которые могут быть у этого треда загадка...
- как убить PID thread?, httpd, 23:30 , 25-Окт-11 (3)
> Действительно интересно. > tgkill() в ядре давно есть, т.е. послать сигнал конкретному треду можно, а > вот что будет мъютексами и прочими ресурсами которые могут быть у > этого треда загадка...да тож нашел этот сигнал, ток утилитки нету готовой для таких целей..
- как убить PID thread?, pavlinux, 16:39 , 30-Окт-11 (5)
> Действительно интересно. > tgkill() в ядре давно есть, А ещё есть pthread_kill() и чё?!
- как убить PID thread?, guest, 17:00 , 30-Окт-11 (6)
> А ещё есть pthread_kill() и чё?!Разжевать разницу между pthread_self()и gettid() или начнешь сам маны читать?
- как убить PID thread?, pavlinux, 20:12 , 30-Окт-11 (7) –1
>> А ещё есть pthread_kill() и чё?! > Разжевать разницу между pthread_self()и gettid() или начнешь сам маны читать?Не, лучше между pthread_timedjoin_np() и gettimeofday(), смысл одинаковый получится. Ну а для начала научи как из баша иль через свою утиль, получить THREAD ID скажем у всех тредов firefox_а иль тандырбёрда --- Так же для разминки мозга. Можешь открыть файл, который сейчас открыт в OpenOffice, и именно с той позиции SEEK_CUR, на которой сейчас находиться в Open Office? --- Далее. Могёшь перехватить открытый сокет в режиме дуплексирования на уровне приложений? Перехват пакетов и promisc режимы сетевухи запрещён администратором. ----- Волшебные хаки по перехвату SYSCALL ядра естественно никто не разрешит делать.
- как убить PID thread?, guest, 21:59 , 30-Окт-11 (8) +2
> Ну а для начала научи как из баша иль через свою утиль, > получить THREAD ID > скажем у всех тредов firefox_а иль тандырбёрда УУУ как все запущенно то... man clone в районе CLONE_THREAD затем man ps про ключики -e,L и f
- как убить PID thread?, pavlinux, 22:03 , 30-Окт-11 (9) –1
- как убить PID thread?, guest, 22:05 , 30-Окт-11 (10)
> Ну а для начала научи как из баша иль через свою утиль, > получить THREAD ID скажем у всех тредов firefox_а иль тандырбёрда В смысле зачитать тебе вслух ман ps? Ну или давай шелл, помогу набрать ps -eLf и покажу колонку LWP
- как убить PID thread?, pavlinux, 22:12 , 30-Окт-11 (11)
>> Ну а для начала научи как из баша иль через свою утиль, >> получить THREAD ID скажем у всех тредов firefox_а иль тандырбёрда > В смысле зачитать тебе вслух ман ps? > Ну или давай шелл, помогу набрать ps -eLf и покажу колонку LWP Ты идиот? Ты в глаза THREAD ID видел? На, дрочи до посинения; #include <stdio.h> #include <pthread.h>int main() { return printf("%zd\n", pthread_self()); }
Флажочег -pthread для ГЦЦ низабуть, а то мало ли чё, вдруг вчера только Юних увидел.
- как убить PID thread?, guest, 22:17 , 30-Окт-11 (14)
> Ты идиот? Ты в глаза THREAD ID видел?Можно я по еврейски отвечу? спасибо Ты идиот? Разницу между TID в ядре и pthread_t понимаешь?
- как убить PID thread?, pavlinux, 02:29 , 15-Ноя-11 (20)
>> Ты идиот? Ты в глаза THREAD ID видел? > Можно я по еврейски отвечу? спасибо > Ты идиот? Разницу между TID в ядре и pthread_t понимаешь?Ну дибил, убей тогда один, на выбор, тред фаерокса. И задолбали уже своим "знанием манов", вопрос был - Как убить тред из вне. Ответ - никак! Всё нах..., закрыли тему. pgkill/pthread - засуньте себе в анус.
- как убить PID thread?, guest, 22:15 , 30-Окт-11 (12)
> Учим различия PID/GID/PPID/EID/TID, и без дела непи...дим.Бинго! Вылазим из танка, рисуем утиль делающий tgkill(PID, TID[да да тот самый LWP из ps], SIG); и наслаждаемся. Правда скорее всего наслаждаться будем упавшим ff, ну да потому такой утилиты и нет. PS: спасибо, как обычно повеселил.
- как убить PID thread?, pavlinux, 22:16 , 30-Окт-11 (13)
> PS: спасибо, как обычно повеселил.Не, веселят меня бакланы читающие маны.
- как убить PID thread?, Вова, 15:38 , 31-Окт-11 (15)
>> А ещё есть pthread_kill() и чё?! > Разжевать разницу между pthread_self()и gettid() или начнешь сам маны читать?нет, ну это было более-менее адекватное сообщение, делая скидку автору, это же Павлинукс. Потом он, как обычно, сел в лужу в нескольких темах сразу,но это не так важно, в принципе. Абстрагируясь от автора, мы можем предположить, что данным конкретным сообщением автор пытается выразить сомнение в возможности доставки сигналов конкретным потокам извне, и это сомнение вполне резонно. Некоторое время назад в линукс потоки имели различные пиды и имели дополнительный процесс "менеджер потоков", раньше - до nptl-реализации, и вот тогда можно было посылать сигналы отдельным потокам, и даже этому "процессу-менеджеру",ну а сейчас - нет.
- как убить PID thread?, guest, 15:52 , 31-Окт-11 (16)
> Абстрагируясь от автора, мы можем предположить, что данным конкретным сообщением автор > пытается выразить сомнение в возможности доставки сигналов конкретным потокам извне, и > это сомнение вполне резонно. Некоторое время назад в линукс потоки имели > различные пиды и имели дополнительный процесс "менеджер потоков", раньше - до > nptl-реализации, и вот тогда можно было посылать сигналы отдельным потокам, и > даже этому "процессу-менеджеру",ну а сейчас - нет.Вов, Вы то не павлин, проверьте сами tgkill() работает ровно так, как обещает ман. ntpl как раз использует clone c CLONE_THREAD т.е. триды самые, что ни наесть ядерные. А вот с _не_ ntpl, т.е. с любой реализацией нитей в юзерспейсе оно действительно не работает, ну да ведь этого никто и не обещал. На самом деле в случаях когда, мы заранее уверенны, что наши нити написаны, таким образом, что по сигналу не тупо сдохнут, а отпустят все свои ресурсы, то из tgkill() получится вполне юзабельная вещь. Которую можно воткнуть в *ctl утилиту идущую в комплект к демону.
- как убить PID thread?, Вова, 12:39 , 01-Ноя-11 (18)
>> Абстрагируясь от автора, мы можем предположить, что данным конкретным сообщением автор >> пытается выразить сомнение в возможности доставки сигналов конкретным потокам извне, и >> это сомнение вполне резонно. Некоторое время назад в линукс потоки имели >> различные пиды и имели дополнительный процесс "менеджер потоков", раньше - до >> nptl-реализации, и вот тогда можно было посылать сигналы отдельным потокам, и >> даже этому "процессу-менеджеру",ну а сейчас - нет. > tgkill() работает ровно так, как обещает ман.Да, действительно, так и есть - линукс можно точно указывать поток, который должен получить сигнал. Если быть дотошным, то ман обещает несколько более удобный интерфейс, но это уже мелочи. Ман в моей системы пишет про поддержку -1 в качестве пида/номера группы потоков, в ядре же жесткий возврат EINVAL на значение pid <= 0, в kernel/signal.c. Пришлось использовать syscall(SYS_tgkill, pid, tid, signum), но это детали, главное то, что реально можно указывать конкретный поток из ps -aLF.
- как убить PID thread?, httpd, 22:31 , 25-Окт-11 (2)
> всем привет, > у меня есть сервер centos 5, сталкнулся с такой прблемой: > завис 1 тред в процессе апача, ушел в бесконечный цикл. нужно было > убить его один, в процессе около 50 тредов было. > пытался сделать просто kill ID-треда, не убивает. пришлось убивать весь процесс. > Вопрос: как убить 1 тред из процесса, не убивая весь тред? я > так понимаю kill это не умеет делать, есть какая нить утилита > или како йсигнал послать треду? или его только родительский процесс может > убить? > ps. kill -9 не пробовал.мда kill -9 на тред убивает весь процесс ((
- как убить PID thread?, pavlinux, 16:36 , 30-Окт-11 (4)
> всем привет, > у меня есть сервер centos 5, сталкнулся с такой прблемой: > завис 1 тред в процессе апача, ушел в бесконечный цикл. нужно было > убить его один, в процессе около 50 тредов было. > пытался сделать просто kill ID-треда, А как ты узнал thread ID у внешнего процесса ??? :)
- как убить PID thread?, httpd, 23:42 , 31-Окт-11 (17)
> А как ты узнал thread ID у внешнего процесса ??? :) pstree показывает PID и его треды: # pstree -p 22079 httpd.worker(22079)-+-{httpd.worker}(22081) |-{httpd.worker}(22082) |-{httpd.worker}(22083) |-{httpd.worker}(22084) |-{httpd.worker}(22085) `-{httpd.worker}(22086) через ps также можно вытащить их. Господа, получается нет возможности убить 1 тред из процесса стандартными юникс утилитами? остается только писать скрипт на С/С++ с вызовом соответсвующего сигнала ?
- как убить PID thread?, Вова, 13:13 , 01-Ноя-11 (19)
>[оверквотинг удален] > |-{httpd.worker}(22083) > > |-{httpd.worker}(22084) > > |-{httpd.worker}(22085) > > `-{httpd.worker}(22086) > через ps также можно вытащить их. > Господа, получается нет возможности убить 1 тред из процесса стандартными юникс утилитами? > остается только писать скрипт на С/С++ с вызовом соответсвующего сигнала ? Да. По идее в пакете procps должно быть что-то вроде tgkill, довольно простая утилита.
|