Я пишу оболочку. Он разветвляет фоновые и передние процессы. У меня проблема с сигналом SIGTSTP. Таким образом, после нажатия Ctrl ^ Z генерируется SIGTSTP, так как этот сигнал доставляется в мою оболочку и ее дочерние процессы (все фоновые и передние процессы, которые моя оболочка разветвила). Но, как и в реальной оболочке, SIGTSTP доставляется только приоритетным процессам, а не фоновым процессам. Итак, как контролировать это поведение, предотвращая отправку сигнала в фоновые процессы моей оболочки?
Я также пробовал setpgid()
, что означает изменение pgid фоновых процессов. Но как только процесс выполнил exec, setpgid()
возвращает ошибку.