Intereting Posts
Регулярное выражение ERE для разделения () между разделителем и конечным словом Объединить файлы с двумя столбцами в один файл Подключение сети Linux Mint к WiFi Установка разрешений для определенных программ для запуска в качестве гостевого Черный экран со статическим курсором при запуске Debian Как переключить или отключить отправку текста в буфер обмена GRUB устанавливается с каждой ОС. Какой из них действительно используется? Ошибка при монтировании rootfs в android Понимание команды «grep» показывает разные результаты, чем ожидалось linux: обнаружение, если внешняя клавиатура подключена к ноутбуку Паника в ядре после установки Gentoo – невозможно открыть корневое устройство Выбор определенного элемента массива Как установить g ++ 4.7.2 и c ++ 11 на CentOS 5.x? Как я могу полностью удалить программный рейд? Соответствие значений и суммы печати на основе повторяемости в awk

Как использовать htop для приостановки процесса и всех его дочерних процессов?

Я использую recoll для индексирования файлов, и он запускается в неподходящее время.

Когда я использую htop для изменения представления в древовидном представлении с помощью F5 и фильтрации списка процессов, я вижу, что выполняется мастер-процесс и дочерние процессы под ним. Когда я нажимаю F9, чтобы выбрать вариант завершения, он, похоже, не отвечает на параметр SIGTERM поэтому мне нужно использовать параметр SIGKILL .

Есть ли возможность приостановить или остановить родительский процесс и все его дети, а не убить его прямо?

Вы можете нажать « Пробел», чтобы пометить процесс. Команда kill применяется ко всем меченым процессам.

Нет простого способа пометить процесс и его дочерние элементы, но древовидное представление ( t ) должно перечислить их смежно.

В зависимости от того, как выполняется recoll, процессы могут быть в их собственной группе процессов . Если они есть, вы можете использовать kill -STOP -1234 чтобы приостановить их, где 1234 – это идентификатор группы процессов (обычно, но не обязательно идентификатор процесса начального процесса в группе). Вы можете проверить с помощью ps -o pid,ppid,pgid,comm -C recoll , затем ps -o pid,ppid,pgid,comm ww | grep -v recoll ps -o pid,ppid,pgid,comm ww | grep -v recoll чтобы узнать, есть ли какие-либо другие процессы в группе процессов. Htop не имеет интерфейса для обработки групп.

Если все процессы называются recoll , то более простым методом является фильтрация процессов по имени. В htop используйте команду filter, затем вы можете легко пометить те процессы, которые хотите убить. В командной строке запустите ps $(pgrep recoll) чтобы перечислить соответствующие процессы. Если вы довольны этим списком, запустите pkill -STOP recoll чтобы приостановить эти процессы.

Вы можете отправить сигнал SIGTSTP или SIGSTOP :

  • SIGTSTP : передается ли сигнал при нажатии Ctrl + Z. Он приостанавливает и останавливает процесс, вы можете возобновить его с помощью bg (возобновляет его в фоновом режиме) или fg (возобновляет его, возвращая его на передний план).

  • SIGSTOP : Просто останавливает процесс. Нельзя игнорировать нельзя заблокировать. Процесс будет возобновлен только при отправке сигнала SIGCONT .