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

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

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

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

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

  • Что после exec () в команде ls. Является ли родительский процесс распечаткой вывода на консоль или дочерний?
  • Через системы, Как процесс взаимодействует с другим процессом?
  • `/ proc / $ PID / cwd`: есть ли эквивалент POSIX?
  • Какие основные механизмы IPC на уровне ядра существуют в Linux?
  • Как увеличить количество массивов семафоров в Linux?
  • Почему часам нужен сегмент разделяемой памяти?
  • называются pipe (mkfifo) предшественником RabbitMQ?
  • Как определить способ подключения, используемый клиентом MySQL?
  • 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 

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

    Interesting Posts

    Почему переменная присваивания, предшествующая команде, игнорируется?

    используя Set uid для запуска корневой команды от пользователя без полномочий root

    Поиск файлов с использованием сценария оболочки

    Не удается удалить файл из-за «Недопустимый аргумент»

    Как читать / изменять контекст SELinux на смонтированном изображении ext4 из системы, отличной от SELinux?

    Как очистить журналы в файловой системе ext3 / ext4?

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

    Нужно ли беспокоиться о «хвосте: непризнанная файловая система типа 0xbeefdead»?

    Как асинхронно запускать внешнюю программу из cli и отбрасывать ее вывод?

    Есть ли способ ограничить диапазон шаблона диапазона в awk?

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

    Методы вставки содержимого первичного отбора X11?

    Возможно ли иметь вредоносное ПО в Linux без выполнения ненадежных приложений?

    Создайте раздел подкачки после установки

    Как я могу автоматически запускать скрипт внутри экрана, если скрипт не находится в $ PATH

    Linux и Unix - лучшая ОС в мире.