nmap과 C를 사용하여 간단한 네트워크 스캐닝 기능을 만들고 있습니다. popen()을 사용하여 nmap을 실행하고 싶지만, nmap을 실행하려면 30 초가 걸립니다. 다양한 IP를 제공합니다.popen()으로 느린 프로세스 실행
그래서 명령 실행이 완료되었는지 확인하는 방법이 있습니까? 나는 C 코드를 시스템 호출에 걸기를 원하지 않는다. 대신 popen/nmap이 끝났을 때 알 수있는 플래그 나 무언가를 내 C 프로그램의 다른 부분이 오지 않도록 확인하고 싶다. 정지. 이것이 가능한가??
감사합니다.
물론 가능합니다. 지금까지 시도한 것은 무엇입니까? ['fork (2)'] (http://man7.org/linux/man-pages/man2/fork.2.html)을 사용해 보셨습니까? 직접? –
'SIGCHLD' 시그널은 자식 프로세스를 종료 할 때 부모 프로세스로 보내집니다. –
@iharob 포크를 시도하지는 않았지만 내 마음은 이미 pthreads쪽으로 기울어 져 있었으므로 그 길을 택할 것입니다. 감사합니다. – Dark