ERROR running ping command ping -c 1 10.6.136.3 > /dev/null && echo true || echo false pipe2: too many open files
Поставил в системе конский лимит кол-ва открытых файлов - ошибки не пропадают.
cat /proc/sys/fs/file-max
5000000
Как с этим бороться на уровне кода? Понятно, что когда я открываю файлы на чтение, нужно не забывать их Close, но тут-то я ничего не открываю, а только запускаю команды.
Днем мне посоветовали использовать нативные гошние либы для пингования, но хочется понять как бороться с такой проблемой - мне вполне может понадобиться запускать одну команду во множестве горутин, не обязательно пинг
класть пинги в канал и разгребать воркерами
rlimit_nofile
Вообще, все логично. Вы ещё потом в nproc упретесь
Обсуждают сегодня