3
내가 리눅스 시스템에 Torjan 발견했습니다, 그것은재부팅하지 않고 "빠른 fork()"프로세스를 종료하는 방법은 무엇입니까?
while(1)
{
count += 1;
pid_t pid = fork();
if (pid < 0)
{
printf("there is something wrong\n");
}
if (pid > 0) // father process
{
/* every 0x1000 times fork run the evil code once */
if (count & 0xfff)
{
exit(0);
}
/* stop the program if the job isn't done in XXs */
alarm(XX);
// evil code
}
}
정말 효과적하고 ps aux
를 통해 그것을 찾을 수 아래의 코드처럼, "빠른 포크"라는 방법을 사용하여, 어쨌든이 프로세스를 찾고 재부팅하지 않고 죽일 수 있습니까? 오후 8시 30 분 P.S. 이 코드는 일반 사용자 (루트가 아닌)로 실행되며 루트 액세스 권한도 없습니다. 프로세스 이름은 각 포크 후 변경되지 않으면
사용자가 동시에 실행할 수있는 프로세스 수를 제한하기 위해 RLIMIT_NPROC 리소스를 사용하여 setrlimit을하는 것이 더 좋습니다. –