2017-10-23 11 views
1

리눅스에서 다른 프로그램에 의해 실행 된 syscalls를 잡을 가능성이 있는지 묻고 싶습니다. 그래서 나는 프로그램이 시스템에서 무엇을하는지 모니터 할 수있다.나는 자신의 C 프로그램에서 리눅스 프로그램에 의해 실행 된 syscalls을 잡을 수 있습니까?

나는 이미/proc/pid/파일을 보았지만 이것과 관련된 것을 찾지 못했습니다.

언어 c를 사용하여이 프로그램을 직접 작성하고 싶습니다.

+1

'man strace' .... –

답변

2

프로그래밍 방식으로 사용하지 않으려는 경우 the strace command line utility이 필요하지만 프로그래밍 방식으로 사용하려면 the ptrace system call을보고 싶을 것입니다. 두 사람은 모니터링 옵트 인 프로세스를 모니터링 할 수 있습니다 (strace으로 시작하거나 , exec 이후에 ptrace으로 옵트 인하거나 해당 권한이 충분한 경우) 프로세스.