C언어 System 함수 사용 할때 메모리 문제
글쓴이: 기챤아@Google / 작성시간: 수, 2021/01/06 - 4:27오후
System 함수를 사용하려고 하는데 사용하고 있는 프로세스가 전체 메모리의 50% 이상을 사용하고 있습니다.
이때 system 함수를 사용하면 프로세스가 죽는 문제가 발생하는데
system 함수에 fork가 있고 현재 프로세스를 복사하면 메모리가 100퍼가 넘어서 죽는것처럼 보입니다.
메모리 문제때문에 system 함수를 사용하지 못할 것 같은데 다른 시스템 명령어가 있나요?
혹은 메모리 문제와 상관없이 system 함수를 사용하는 방법이 있나요??
Forums:
C언어 System 함수 사용 할때 메모리 문제
system() 을 수행할 간단한 프로그램을 만들면될거같네요
위 프로그램에는 실제 명령을 내릴 서버와 메세지를 주고받을수있도록 소켓 통신하면되구요
같은 os상에 떠있을거같으니 loopback으로 하시면 되겟네요.
system() 대신 fork() + exec() 로
system() 대신 fork() + exec() 로 해보세요.
쉘스크립트 사용해야 한다면 쉘스크립트 없애시고요. system()은 님 원하시는 프로세스뿐만 아니라 쉘 프로세스도 실행합니다.
Written By the Black Knight of Destruction
댓글 달기