LINUX.ORG.RU
ФорумAdmin

SIGSTOP SIGCONT группе процессов

 


0

1

Приветствую.

Есть процесс который порождает дерево процессов. Чтобы остановить их использую SIGSTOP для дерева по TPGID

Узнаем наш tpgid

/bin/ps ax -O tpgid | /bin/grep bash

и шлем сигнал такой командой

/bin/kill -19 -- -12345

далее хотим воскресить процесс и узнаем его tpgid снова

/bin/ps ax -O tpgid | /bin/grep bash

И наш tpgid уже поменялся! Если использовать его, то не все процессы просыпаются.

Если использовать tpgid которому был послан SIGSTOP то все ок.

Кто то может в курсе, почему меняется tpgid и что с этим делать?

★★

в линуксе вообще сложно всё с прослеживаем дерева процессов. в стандартном случае при управлении группами рекомендуется использовать отдельного юзера или сигруппу. или у тебя задача прибита гвоздями к реализации?

kinik ★★☆ ()

Чё-то я не понял, чего ты хочешь. Почему не слать по prgp?

tpgid идентифицирует группу, которая сейчас в foreground вертится на том терминале, к которому привязан процесс. Если ты этой группе пошлёшь SIGSTOP, то она больше не будет foreground-группой. Тогда, очевидно, foreground-группой станет другая группа, из-за чего tpgid поменяется.

devsdc ★★ ()
Ответ на: комментарий от kinik

Задача приостановить процесс который вызывает прожорливый ffmpeg. После того как ресурсы освободятся, возобновить работу процессов.

ex3me ★★ ()
Ответ на: комментарий от ex3me

Задача приостановить процесс который вызывает прожорливый ffmpeg

ты уверен, что вопрос не решается более мощным железом?

kinik ★★☆ ()
Ответ на: комментарий от kinik

Конечно решается. Но железо есть какое есть, 2 скудных ядра

ex3me ★★ ()
Ответ на: комментарий от ex3me

Тьфу, глаз совсем замылился, опечатку не увидел. pgrp, конечно (расшифровывается как process group).

devsdc ★★ ()
Последнее исправление: devsdc (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.