/* This daemon creates new processes until the limit is reached. Number of processes is outputted to syslog. */ #include #include #include #include #include #include #define TTL 300 #define MAX 65536 #define UID 65534 int pids[MAX]; int main(int argc, char *argv[]) { int count = 0; pid_t pid; if (setuid(UID) < 0) { perror("setuid"); exit(1); } while ((pid = fork()) >= 0 && count < MAX) { if (pid == 0) sleep(TTL); pids[count++] = pid; } printf("Forked %i new processes\n", count); while (count--) kill(pids[count], SIGTERM); return 0; }