С zsh:
print -rl -- **/?*.*(D.:e) | uniq -c |sort -n
Шаблон **/?*.*
соответствия все файлы, которые имеют расширение в текущем каталоге и его подкаталогах рекурсивно. Спецификатор шарика D
позволить zsh
пересеките даже скрытые каталоги и рассмотрите скрытые файлы, .
выбирает только регулярные файлы. Модификатор истории сохраняет только расширение файла. print -rl
печать одно соответствие на строку. uniq -c
считает последовательные идентичные объекты (результат шарика уже отсортирован). Заключительный вызов к sort
сортирует расширения по количеству использования.
Потоки являются неотъемлемой частью процесса и не могут быть уничтожены снаружи. Существует функция pthread_kill, но она только применяется в контексте самого потока. Из документов в ссылке:
Обратите внимание, что pthread_kill () только заставляет сигнал быть обработанным в контексте данного потока; действие сигнала (завершение или останавливающийся) влияет на процесс в целом.
Канонический ответ на этот вопрос: С сотрудничеством процесса любым механизмом это обеспечивает. Без сотрудничества процесса это невозможно. То, что процесс состоит из потоков, является внутренней деталью процесса то есть, намеренным дизайном, не выставленным за пределами процесса.
gdb
) к процессу управляйте, чтобы все потоки вывели стек и затем отсоединились.
– David Schwartz
01.03.2018, 20:04
Вдобавок к ответу @gkv можно смотреть на функцию pthread_cancel(3)
, часть <pthread.h>
. Из страницы справочника:
pthread_cancel () функция отправляет запрос отмены к потоку потока. То, ли и когда целевой поток реагирует на запрос отмены, зависит от двух атрибутов, которые находятся под контролем того потока: его состояние cancelability и тип.
Можно найти tgkill () полезным. Это - Linux, конкретный, как страница справочника упоминает.
tgkill () отправляет сигнал сигнала в поток с идентификатором потока tid в группе потока tgid. (В отличие от этого, уничтожьте (2), может только использоваться для отправки сигнала в процесс (т.е. группа потока) в целом, и сигнал будет поставлен произвольному потоку в рамках того процесса.)