首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android本机进程在10至15秒后暂停。

Android本机进程在10至15秒后暂停。
EN

Stack Overflow用户
提问于 2014-05-16 13:52:08
回答 1查看 161关注 0票数 0

我有一个Android Java应用程序,也有一个本地应用程序。本机应用程序是从Java应用程序启动的,如下所示:

mProcess = Runtime.getRuntime().exec(cmdLaunch,null,new (Files_dir));

本机进程实际上在一个循环中运行,并偶尔休眠一次。

下面是正在发生的事情。本机进程启动后,它运行约10至15秒。在那之后它就停了下来。Java应用程序仍然处于前台。我从日志中知道这个。没有什么能让它恢复。

因为我正在开发它,所以我启动了一个新的调试会话。这将杀死以前的Java应用程序,并启动一个新的应用程序。

现在,暂停的本机进程恢复并按预期继续运行。现在,这是无限期运行的,没有停顿。

这里发生了什么事?

当父进程(Java应用程序)被杀死时,子进程(本机应用程序)是否也被杀死了?为什么在父进程被杀死后,本机进程就开始运行,而没有任何问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-19 06:56:57

好的,有问题了。本机进程有大量printf语句。本机进程的“stdout”被重定向到父进程。这是默认行为吗。

父进程从未读取此缓冲区。因此,在本机进程中,“printf”行用于阻塞。

因此,当父进程死亡时,重定向必须已经停止,或者设置为/dev/null。因此,本机进程自由运行。

在创建流程时,我是否可以在Java代码中禁用输出的重定向?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23696961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档