作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 NDK 为 Android 编写一个实用程序。
在我的实用程序中,我 fork 了一个进程,并在该进程中运行以下代码:
//Screenshot thread
int i = 0;
for (;;) {
char filename[255];
snprintf(filename, sizeof(filename),
"/data/local/screenshots/screen%d.png", i);
execlp("screencap", "screencap", "-p", filename, NULL);
i++;
sleep(500);
}
我发现屏幕截图是第一次创建的,但后续屏幕截图并未拍摄。当我停止程序时,我发现有一个 screen0.png
文件,但没有 screen1.png
或任何后续文件。我已经阅读了文档,看起来 Android sleep函数接受一个毫秒参数。
有什么想法吗?
最佳答案
来自execve(2)
手册页
RETURN VALUE
The
exec()
functions return only if an error has occurred. The return value is -1, and errno is set to indicate the error.
因此,循环在 exec()
调用处被阻塞,并保持在那里,除非发生错误。
关于安卓NDK : Infinite Loop Not Being Called Infinitely,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33621721/
我是一名优秀的程序员,十分优秀!