делаю fork+execvp. слушаю в родителе сокет - когда по нему приходит команда, то хочу убить все к фигам - и родителя (что просто), и ребенка, чем бы он в этот момент уже не стал.
но, внезапно для наивного меня, посылка SIGTERM/SIGKILL от родителя к PID ребенка не особо помогает. куда копать может кто подскажет?
SIGKILL убивает всегда. Значит он или отправляется не на тот PID или проблемы с правами. У бинарника ребёнка установлен SUID может быть?
пользователи не меняются. прав, по идее, должно хватать - оно и из-под sudo себя все аналогично ведет. я тут понял, что в execvp передаю путь на шел скрипт, а не просто бинарник. пойду обычный сишный тестовый бинарник вместо этого дела запилю
пользователи не меняются. прав, по идее, должно хватать - оно и из-под sudo себя все аналогично ведет. я тут понял, что в execvp передаю путь на шел скрипт, а не просто бинарник. пойду обычный сишный тестовый бинарник вместо этого дела запилю
пользователи не меняются. прав, по идее, должно хватать - оно и из-под sudo себя все аналогично ведет. я тут понял, что в execvp передаю путь на шел скрипт, а не просто бинарник. пойду обычный сишный тестовый бинарник вместо этого дела запилю
Так при запуске скрипта запускается шелл, который потом порождает кучу других процессов. Тебе тогда в скрипте надо уже получать PID основного процесса и как-то возвращать родительскому или делать exec в него, тогда PID останется.
Так при запуске скрипта запускается шелл, который потом порождает кучу других процессов. Тебе тогда в скрипте надо уже получать PID основного процесса и как-то возвращать родительскому или делать exec в него, тогда PID останется.
мне бы просто все это, со всеми порожденными процессами, взять да и грохнуть. сижу про pgrp читаю-вспоминаю пока что