К какой группе процессов относится моя программа, когда она начинается с bash?

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

Поскольку я создаю оболочку в C , мне нужно обработать сигнал SIGINT .

Теперь Ctrl + C посылает сигнал SIGINT процессам на переднем плане, но принадлежит к той же группе процессов.

Я не могу завершить сеанс bash.

One Solution collect form web for “К какой группе процессов относится моя программа, когда она начинается с bash?”

 bash-4.3$ ps -j | cat PID PGID SID TTY TIME CMD 4586 4586 4586 pts/1 00:00:00 bash 4600 4600 4586 pts/1 00:00:00 ps 4601 4600 4586 pts/1 00:00:00 cat bash-4.3$ ps -j; ps -j PID PGID SID TTY TIME CMD 4586 4586 4586 pts/1 00:00:00 bash 4602 4602 4586 pts/1 00:00:00 ps PID PGID SID TTY TIME CMD 4586 4586 4586 pts/1 00:00:00 bash 4603 4603 4586 pts/1 00:00:00 ps 

Задание интерактивной оболочки выполняется с помощью группы процессов. Это то, что были созданы для групп процессов: запуск интерактивных заданий оболочки. Интерактивные оболочки – это единственные команды, которые фактически смешиваются с группами процессов.

Выше ps -j | cat ps -j | cat является (передним) заданием. И ps и cat находятся в одной и той же группе процессов, оболочка сделала ее основной группой процесса терминала, так что a ^C вызывает отправку SIGINT.

Во втором примере два последовательных задания.

В

 bash-4.3$ (ps -j; ps -j) PID PGID SID TTY TIME CMD 4586 4586 4586 pts/1 00:00:00 bash 4633 4633 4586 pts/1 00:00:00 bash 4634 4633 4586 pts/1 00:00:00 ps PID PGID SID TTY TIME CMD 4586 4586 4586 pts/1 00:00:00 bash 4633 4633 4586 pts/1 00:00:00 bash 4635 4633 4586 pts/1 00:00:00 ps 

Подоболочка – это одно задание. Сама подоболочка может рассматриваться как неинтерактивная оболочка.

  • Через системы, Как процесс взаимодействует с другим процессом?
  • называются pipe (mkfifo) предшественником RabbitMQ?
  • Создание терминального устройства для межпроцессного взаимодействия
  • Тупик при чтении / ожидании
  • Причины контроля IPC в Linux
  • Оболочка: взаимный трубопровод STDIN / STDOUT двух команд
  • Как перечислить все пути объекта в службе dbus?
  • У одного конца трубы есть как чтение, так и запись fd?
  • Почему очереди сообщений не используются для приложений на системном уровне в ОС Ubuntu?
  • Являются ли FIFO, pipe & Unix доменными сокетами одинаковыми в ядре Linux?
  • Linux - проверьте статистику IPC
  • команда linux для проверки очереди сообщений POSIX
  • Linux и Unix - лучшая ОС в мире.