C 에서 system() 함수로 실행시킨 프로그램의 cpu affinity 설정 질문입니다.
글쓴이: ael / 작성시간: 목, 2014/07/10 - 6:13오후
매번 많이 배워가는 초보입니다. ^^;
업무때문에 리눅스에서 C 기반 프로그램내의 스레드에 hard affinity를 줘야하는 상황이 생겼습니다.
특정 프로세스나 스레드의 cpu affinity를 지정해주는 방법은 알고 있고, 테스트도 마쳤습니다.
문제는 스레드 내에서 system() 함수로 실행시킨 프로그램의 cpu affinity 입니다. 자기를 실행시킨 스레드의 affinity를 따라가지 않고 soft affinity로 동작하네요..
system() 함수로 실행시키는 프로그램의 원본소스를 수정하지 않는 선에서 system() 함수를 호출한 스레드의 affinity를 따라가도록 하는 방법이 있을까요? pthread_setaffinity_np() 함수나 sched_setaffinity() 함수로는 안되네요..
혹시 방법을 아시거나 힌트가 될만한 것이 있다면 알려주시면 감사하겠습니다. (_ _)
날 더운데 건강 챙기시길!
감사합니다.
Forums:
man 1 taskset
man 1 taskset
감사합니다!
프로그램 구동중에 cpu affinity를 바꿔야하는 상황이라 쉘커맨드는 고려를 안 하고 있었는데 테스트해봐야겠네요.
감사합니다!
댓글 달기