bash
macOS에서 실행할 때마다 콘솔에 액세스된 모든 파일을 인쇄 해야 하는 문제가 있습니다 .
비교적 쉬운 방법이 있나요? 어쩌면 dtrace
이것을 아주 간단하게 만들 수 있을까요?
답변1
"bash"라는 프로세스에서 직접 연 모든 파일을 보려면 다음을 수행할 수 있습니다.
$ sudo dtrace -n 'syscall::open*:entry/execname == "bash"/{ trace(copyinstr(arg0)); }'
또는 bash 시작과 프롬프트 사이에 열린 모든 파일을 보고 싶을 수도 있습니다. 이렇게 하려면 다음을 수행할 수 있습니다.
$ sudo dtrace -n 'syscall::open*:entry/progenyof($target)/{ printf("%s %s", execname, copyinstr(arg0)) }' -c bash
열려 있는 파일과 해당 파일에 액세스하는 데 사용되는 명령이 표시됩니다.