在Linux下,我经常使用它/proc/<pid>/fd/[0,1,2]
来访问std[in,out,err]
任何正在运行的进程。
有没有办法在FreeBSD和/或macOS下获得相同的结果?
有关基于dtrace的答案,请参见此StackOverflow链接。我已经在FreeBSD上对其进行了测试,并且效果很好:
capture() {
sudo dtrace -p "$1" -qn '
syscall::write*:entry
/pid == $target && arg0 == 1/ {
printf("%s", copyinstr(arg1, arg2));
}
'
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句