tgoop.com/itpgchannel/3396
Create:
Last Update:
Last Update:
Я, короче, решил сам проверить, как эти uutils работают в качестве замены системных утилит.
Собрал, перезагрузился, и, мааама-дорогая, у меня в 2 раза больше процессов, чем обычно.
Отлаживать особо не пришлось, виновника обнаружил самый простой pstree:
# pstree
...
... bash---env---sleep
...
Да, у кучи программ обнаружился очень странный parent - env.
env - максимально примитивная тулза, она выставляет заданные env переменные, и делает exec в программу, которая ей указана в самом конце cmd line (то есть, "исчезает").
(она обрабатывает те самые шебанги
#!/usr/bin/env python3
, отсюда и масштаб проблем)Только в случае rust uutils:
* она или делает fork + wait
* или, еще хуже, еще и перегоняет данные через pipe между child и parent, как это делает python subprocess, например
(код не читал, что там именно - сказать не могу)
Школьники такие школьники - тесты проходить научились, а суть понимать - нет.
Я, от греха подальше, эту хтонь выключил - https://github.com/pg83/ix/commit/6b1c02c2cde2f3e229a33772ae04b2bf0e995081
UPD: нам тут пишут, что, в последней версии, починили - https://github.com/uutils/coreutils/commit/cab307a40e9b3f12c812e3ba6207b55f4fa21496
BY commit -m "better"
Share with your friend now:
tgoop.com/itpgchannel/3396