Прожорливый демон
Есть FreeBSD. А есть тривиальный код демона:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
FILE* pidf = 0;
printf("Noname daemon v 1.0.0\n");
daemon(1, 0);
if (pidf = fopen("noname.pid", "wb"))
{
fprintf(pidf, "%u", getpid());
fclose(pidf);
}
for (;;)
sleep(1);
return 0;
}
Как видно, он ничего не делает кроме того, что бессмысленно висит в памяти.
Компилирую я его следующим образом:
gcc main.c -pie -I/include -I. -lc -o noname
Внимание, вопрос: почему top показывает, что такой мелкий демон занимает 1272K памяти (из них 572 резидентной)? Куда столько? И можно ли сократить этот объём?
