Я не думаю, что Bourne, bash или zsh позволят вам это сделать, но вы можете сделать это в perl, используя встроенный setpgrp
(обратите внимание на небольшое отличие имени от POSIX).Передайте ноль в качестве PID для изменения группы самого процесса perl:
setpgrp(0, 12345) || die "$!"
Вы можете подумать, что вы можете использовать perl из, скажем, bash, чтобы установить группу процесса bash (передав $$
всценарий perl, например), но я не думаю, что процесс perl сможет изменить группу процесса, который он не обработал.
В зависимости от того, что вы пытаетесь сделать,Функции управления заданиями в различных оболочках могут дать вам то, что вам нужно, по-разному, например, если вы просто хотите отсоединиться от терминала.
ОБНОВЛЕНИЕ: Мне кажется странным, что этот ответполучил пару отрицательных голосов без четкого объяснения почему.Я предполагаю, что downvoters неправильно понимают вопрос, который спрашивает, как изменить группу процессов current shell.Или, может быть, они знают, как сделать setpgrp из оболочки, но держат секрет при себе.