Size: a a a

2020 July 15

r

red75prime in rust_offtopic
Andrey @ozkriff Lesnikov
делаю fork+execvp. слушаю в родителе сокет - когда по нему приходит команда, то хочу убить все к фигам - и родителя (что просто), и ребенка, чем бы он в этот момент уже не стал.

но, внезапно для наивного меня, посылка SIGTERM/SIGKILL от родителя к PID ребенка не особо помогает. куда копать может кто подскажет?
SIGKILL убивает всегда. Значит он или отправляется не на тот PID или проблемы с правами. У бинарника ребёнка установлен SUID может быть?
источник

AL

Andrey @ozkriff Lesn... in rust_offtopic
пользователи не меняются. прав, по идее, должно хватать - оно и из-под sudo себя все аналогично ведет.
я тут понял, что в execvp передаю путь на шел скрипт, а не просто бинарник. пойду обычный сишный тестовый бинарник вместо этого дела запилю
источник

r

red75prime in rust_offtopic
Andrey @ozkriff Lesnikov
пользователи не меняются. прав, по идее, должно хватать - оно и из-под sudo себя все аналогично ведет.
я тут понял, что в execvp передаю путь на шел скрипт, а не просто бинарник. пойду обычный сишный тестовый бинарник вместо этого дела запилю
А почему не создавать и убивать process group?
источник

AL

Andrey @ozkriff Lesn... in rust_offtopic
Хм, отличный вопрос
источник

T1

Tony 123 in rust_offtopic
источник

T1

Tony 123 in rust_offtopic
источник

T1

Tony 123 in rust_offtopic
поч ошибку выдаёт?
источник

T1

Tony 123 in rust_offtopic
источник

H

Hirrolot in rust_offtopic
self: Box<dyn Self> ?
источник

p

polunin.ai in rust_offtopic
self as Box<dyn Trait>
источник

T1

Tony 123 in rust_offtopic
polunin.ai
self as Box<dyn Trait>
Не имеет смысла
источник

T1

Tony 123 in rust_offtopic
Hirrolot
self: Box<dyn Self> ?
dyn Self? Self это тип
источник

p

polunin.ai in rust_offtopic
Tony 123
Не имеет смысла
Всмысле?
источник

p

polunin.ai in rust_offtopic
Ты так пробовал?
источник

r

red75prime in rust_offtopic
Box<Self> - это Box<Какой-то-тип-реализующий-DynComposePE>, а не Box<dyn DynComposePE>
источник

H

Hirrolot in rust_offtopic
red75prime
Box<Self> - это Box<Какой-то-тип-реализующий-DynComposePE>, а не Box<dyn DynComposePE>
ковариантность тут не работает?
источник

С

Сергей in rust_offtopic
Andrey @ozkriff Lesnikov
пользователи не меняются. прав, по идее, должно хватать - оно и из-под sudo себя все аналогично ведет.
я тут понял, что в execvp передаю путь на шел скрипт, а не просто бинарник. пойду обычный сишный тестовый бинарник вместо этого дела запилю
Так при запуске скрипта запускается шелл, который потом порождает кучу других процессов. Тебе тогда в скрипте надо уже получать PID основного процесса и как-то возвращать родительскому или делать exec в него, тогда PID останется.
источник

AL

Andrey @ozkriff Lesn... in rust_offtopic
Сергей
Так при запуске скрипта запускается шелл, который потом порождает кучу других процессов. Тебе тогда в скрипте надо уже получать PID основного процесса и как-то возвращать родительскому или делать exec в него, тогда PID останется.
мне бы просто все это, со всеми порожденными процессами, взять да и грохнуть. сижу про pgrp читаю-вспоминаю пока что
источник

С

Сергей in rust_offtopic
Andrey @ozkriff Lesnikov
мне бы просто все это, со всеми порожденными процессами, взять да и грохнуть. сижу про pgrp читаю-вспоминаю пока что
лучше читай про cgroup тогда, но это уже почти контейнер, можно и про контейнер сразу подумать
источник

r

red75prime in rust_offtopic
Hirrolot
ковариантность тут не работает?
Ковариантность в расте только для лайфтаймов.
источник