我有一个关于亚行的问题。
我很抱歉这个问题的标题,因为我真的不知道如何给这个问题一个好的标题。
目前,我正在使用许多android设备,我注意到在一些设备上出现了以下问题。
假设我想运行一个位于电话的/data/local/tmp/文件夹中的shell脚本(my_script.sh)。
如果我这样做:
adb shell 'sh /data/local/tmp/my_script.sh &'电话里什么都没发生。
如果我只是进入adb shell (通过在终端上输入adb shell ),当我得到以下提示时:
shell@android:/ $ 然后我输入以下内容:
sh /data/local/tmp/my_script.sh &一切都运行得很好。
这只发生在我拥有的几个设备上。所以我不知道我到底做错了什么。
这是另一条可能对某人有帮助的信息。如果我不在末尾使用"&“(这意味着我不会在后台进程中运行脚本),一切都会正常工作。
下面的代码给出了正确的行为:
adb shell 'sh /data/local/tmp/my_script.sh'我完全迷路了,我希望这里有人能帮我。
提前感谢!
adb shell 'sh /data/local/tmp/my_script.sh &'然后解锁屏幕,脚本就会正常运行。
这真的是我在很长一段时间内遇到的最奇怪的事情。
我真的希望有人能帮上忙。
发布于 2013-12-13 11:09:46
我猜你想要守护一些程序在后台运行。但通常情况下,子进程会在父进程离开时被杀死。在本例中,您的adb shell是父进程。
而且这种行为在不同的设备上确实是不同的。我刚刚在我的手机上试了试,发现"&“没有任何作用,shell命令仍然被阻止。
我认为更好的处理方法是使用linux的标准守护进程方法。请参阅:
https://stackoverflow.com/questions/20109419
复制相似问题