Как глава, которую Вы цитируете из POSIX, объясняет, SIGINT отправляется целой группе приоритетного процесса. Поэтому, чтобы не уничтожать родителя программы, примите меры, чтобы это работало в его собственной группе процесса.
Оболочки не предоставляют доступ к setpgrp
через встроенную или синтаксическую конструкцию, но существует косвенный способ достигнуть его, который должен выполнить оболочку в интерактивном режиме. (Благодаря Stéphane Gimenez для приема.)
ksh -ic '
… the part that needs to be interruptible without bothering the parent …
'
dpkg --search /usr/bin/mysqldump
dpkg -S /usr/bin/mysqldump
Аргумент dpkg --search
- это шаблон подстановки оболочки, поэтому вы можете делать такие вещи, как dpkg -S bin / * дамп
.
Кроме того, вы можете искать в базе данных вручную - это просто текстовые файлы.
grep mysqldump /var/lib/dpkg/info/*.list
В системе с большим количеством установленных пакетов dpkg -S
может работать медленно, потому что ему приходится читать много маленьких файлов в / var / lib / dpkg / info
. Вы можете установить dlocate , который индексирует файлы, установленные через пакеты deb, так же, как locate
индексирует все файлы: информация немного устарела (по умолчанию база данных обновляется каждую ночь), но операция запроса выполняется быстрее.