正在运行adb logcat -c
回显ioctl: Operation not permitted
虽然我收到错误(如果你甚至可以称之为),正在清除日志。
我跑了strace
,但似乎无法找到对ioctl
的任何电话。
最后,我看到了:
read(3, "ioctl: Operation not permitted\r\n", 4096) = 32
fstat64(1, {st_mode=S_IFREG|0664, st_size=18650, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff768e000
write(1, "ioctl: Operation not permitted\r\n", 32ioctl: Operation not permitted^M
ioctl
失败了? 注意 - sudo
不做任何更改。ioctl
被叫到哪里?我没有正确解释strace
吗? 注意 - 跟踪子进程不会改变任何内容。^M
业务有什么用?在将文件从Windows复制到Linux之前,我遇到过那个人。我相信这是vim如何编码回车。但为什么会在这里呢?只在那个地方?当我查看我的问题时,我注意到两件事。
stdout
)?也许错误是硬编码的,并且基于某些条件 - if(error) printf("%s\n", ioctlerr);
。\r
,其中解释了^M
。但是为什么首先会有\r
。移植问题?之前我没有注意到ioctl: Operation not permitted^M
是因为我将stderr 和 stdout发送到此文件,因此^M
是adb logcat
的结果{1}}不是strace
。