Какова цель сохранения этого родительского процесса вокруг
Я прочитал create_watching_parent
в su -common.c
исходный код.Похоже, что родитель остается, чтобы делать следующее:
cleanup_pam
после выхода дочернего элемента Предполагая, что код в вашем вопросе находится в файле с именем remove
, строка 2 вызывает бесконечный цикл в скрипте remove
. По сути, сценарии BASH запускают каждую строку как команду сверху вниз. Когда вы попытаетесь запустить скрипт remove
, он достигнет строки 2(sh remove "filename"
)и попытается запустить другой экземпляр remove
. Этот новый экземпляр пытается запустить третий экземпляр remove
и так далее.
Короче говоря, удалите или закомментируйте строку 2:
# sh remove "filename"
Тем не менее, будьте осторожны при записи файла для удаления файлов. Вы же не хотите ошибиться и удалить то, что удалять не следует. Остальную часть сценария я не просматривал. Я бы закомментировал строки, которые фактически перемещают файлы, по крайней мере, при первых нескольких тестовых прогонах.