Описание тега process-group

In POSIX-conformant operating systems, a process group denotes a collection of one or more processes.
1 ответ

Что означают идентификаторы PID, PPID, SID, PGID, UID, EUID?

Меня назначили Напишите программу на C, которая печатает следующие идентификаторы PID, PPID, SID, PGID, UID, EUID. Назначение затем продолжил спрашивать Что представляет собой каждый идентификатор? Я завершил программу, но не нашел адекватных объясн…
06 янв '17 в 03:19
6 ответов

Как установить группу процессов сценария оболочки

Как установить группу процессов сценария оболочки? Также я хочу, чтобы все дочерние процессы были в одной группе процессов Я ожидаю что-то похожее на setpgid() в C.
01 июл '11 в 14:59
0 ответов

Вызов setpgid/setsid при порождении внешних программ

При запуске внешней программы из моего кода у меня есть три варианта: Ничего не делать после fork(), Внешняя программа будет находиться в группе процессов своего родителя. Вызов setpgid(0, 0) или аналогичный, поэтому внешняя программа получит свою с…
05 дек '12 в 16:28
3 ответа

Отправка процесса в фоновый режим и возврат управления в мою оболочку

Я программирую оболочку для своего класса CS, и часть проекта включает в себя запуск процесса в фоновом режиме, если символ "&" передается пользователем. Если процесс запускается на переднем плане, я просто execvp процесс, и он остается под контроле…
28 май '12 в 03:26
1 ответ

Получение идентификатора пользователя и идентификатора группы процессов из task_struct и пространства имен pid_name

Я пытаюсь изменить ядро ​​Linux, и мне нужно получить идентификатор пользователя и идентификатор группы процессов из task_struct и pid_namespace, Хотя я искал их определения в исходном коде, я не смог найти каких-либо глобальных переменных или функц…
30 окт '15 в 22:30
1 ответ

В чем разница между "kill 0" и "kill -‍- -$$"?

В основном я хочу процесс сценария bash, после получения SIGINT, чтобы убить все его подпроцессы перед выходом. Я прочитал здесь, чтобы использовать что-то вроде: trap "kill -TERM -$$ ; exit 1" INT QUIT Я также прочитал, чтобы использовать kill 0: t…
08 окт '13 в 15:35
1 ответ

Почему фоновый ssh ​​может взять tty у Bash?

(Я использую Bash 4.4.12 в Debian 8. Вопрос также задавался в списке рассылки bash.) Смотрите следующие шаги, чтобы воспроизвести проблему. Из tty # 1 (pts/2): [STEP 101] # tty /dev/pts/2 [STEP 102] # ssh -o ControlMaster=yes -o ControlPath=/tmp/soc…
12 июн '17 в 05:59
1 ответ

Что должны делать интерактивные оболочки в потерянных группах процессов?

Короткий вопрос: что должна делать оболочка, если она находится в потерянной группе процессов, которой не принадлежит tty? Но я рекомендую прочитать длинный вопрос, потому что это забавно. Вот интересный и увлекательный способ превратить ваш ноутбук…
05 дек '12 в 07:36
1 ответ

Почему os.StartProcess в Go устанавливает идентификатор группы дочерних процессов равным дочернему p id

Функция библиотеки Голанга os.StartProcess() звонки setpgid(0,0) в дочернем процессе после разветвления. Это делается в конфигурациях "linux" и "bsd", источники здесь: http://golang.org/src/pkg/syscall/exec_bsd.go?h=SYS_SETPGID#L105 http://golang.or…
14 окт '14 в 05:20
0 ответов

Запустите процесс в новой сессии, чтобы иметь возможность убить все дерево одновременно

Существует Linux-ориентированная программа Python, которая запускает подпроцесс Puppet. Puppet - это программное обеспечение для управления конфигурацией, которое при запуске запускает множество подпроцессов (yum, curl, пользовательские сценарии и т…
21 июн '13 в 16:01
0 ответов

Конвейерная команда ps -j | все еще висит после закрытия всех каналов и изменения PGID

Я пытаюсь создать свою собственную оболочку. Идея состоит в том, что, когда я делаю многоступенчатую конвейерную команду, такую ​​как ps -j | more, первый процесс ps -j будет лидером группы процессов, и все последующие процессы будут использовать од…
10 фев '19 в 19:12
4 ответа

Как получить pids в одной группе процессов в ОС Linux

У меня есть один вопрос по Linux pid. Как получить пидс в одной группе? Кажется, легко получить все pids или pgid с помощью команды ps в Linux, но как получить pids, принадлежащие к той же группе, или, другими словами, как получить pids одной и той …
23 окт '12 в 19:51
2 ответа

В моем вызываемом скрипте "trap 'echo ignore' USR1", почему вызывающий скрипт убивается?

Скажем, у меня есть два сценария bash: / TMP / ловец: #!/bin/bash trap 'echo trapper: ignoring USR1' USR1 "$(dirname $0)"/usr1er & p=$! sleep 1 echo trapper: now killing usr1er kill $p echo trapper: sleeping sleep 1 echo trapper: reached end of …
20 фев '14 в 13:09
1 ответ

pgid в обработчике сигналов отличается от реального pgid

У меня есть следующая простая программа, которая устанавливает pgid и pgroup основной программы для STDIN. Затем у меня есть обработчик сигнала, который печатает pgid текущего процесса и pgid процесса, из которого отправляется сигнал. Вот мой код pi…
27 окт '14 в 17:22
2 ответа

bash trap '' против функции trap, передавая сигналы

Я запутался в передаче сигналов дочерним процессам с ловушками. Скажем, у меня есть два сценария: a.sh #!/bin/bash # print the process id echo $$ cleanup() { rv=$? echo "cleaning up $rv" exit } sleep 5 trap '' SIGTERM # trap cleanup SIGTERM echo 'ca…
12 авг '16 в 01:34
1 ответ

SIGTERM для всех дочерних процессов, но не родительских

У меня есть программа на C, которая реагирует на сигналы. Некоторые сигналы приводят к тому, что родительский объект разветвляется. Это позволяет выполнять другую обработку, пока родитель продолжает реагировать на сигналы. Когда родителю отправляют …
08 июл '13 в 01:16
1 ответ

Как убить разветвленного ребенка и его подпроцесс jackd в python

Я пытаюсь реализовать значок в трее, который позволяет мне контролировать процесс (Джек). Наиболее заметно Я хочу прочитать процессы stdout и stderr для целей ведения журнала Я хочу иметь возможность убить процесс из пункта меню основной программы У…
15 окт '17 в 00:42
2 ответа

Как получить идентификатор сеанса, связанный с терминалом?

В Linux каждый терминал связан только с одним сеансом (сеанс имеет одну или несколько групп процессов, а группа процессов имеет один или несколько процессов). Есть ли какая-либо функция (или команда), которая принимает файл tty устройства (например:…
10 ноя '17 в 16:59
0 ответов

Создать новый процесс с setsid и получить его статус

Я создаю новый отдельный процесс с использованием setsid, и мне нужно, чтобы выполняемый процесс (тот, который вызывает setsid) имел возможность проверить, если он (новый процесс) еще жив, поэтому я не буду создавать другой процесс сделать ту же раб…
27 фев '19 в 15:28
3 ответа

Группа процессов для дочерних процессов библиотеки

Я работаю над библиотекой (C++), которая будет интегрирована в клиентский код. Эта библиотека порождает несколько дочерних процессов и должна контролировать их, чтобы они появлялись сразу же после их смерти (по любой причине). Мне нужно использовать…
29 май '12 в 22:05