dtrace를 처음 사용하고 기본적인 dtrace 스크립팅을 작성하려고합니다. 나는 예를 발견하는 잡을 읽기 (2)와 별도의 터미널 (2) 시스템 콜을 작성하여 지정된 PID 번호가 다른 터미널의 PID 아이디에서입니다dtrace : 쓰기 sys 호출을 수신하지 않습니다.
syscall::read:entry,
syscall::write:entry
/pid==4217/
{
}
, 다음과 같은. 이 예제를봤을 때 dtrace로이 스크립트를 실행하면 읽기 및 쓰기 시스템 콜을 일부 표시해야합니다. 하지만 나는 syscall을 읽었지만 syscall은 쓰지 않았다.
터미널에서 뭔가를 입력하면 커널이 해당 문자를 읽으므로 syscall이 발생한다고 가정합니다 (pid 4217). 내가 "ls"와 같이 타이핑하고 엔터를 치면 커널은 그것을 읽고 실행하고 터미널에 출력을 써서 syscall을 호출하여 쓸 수 있다고 쓴다. 하지만 필자는 어떤 방식 으로든 쓰기 시스템 호출을 보지 못했습니다. 왜 그런가요?