我已经创建了一个小的应用程序,点击这个按钮将启动“adb logcat”进程,但是在启动这个进程之后,我们必须发出Ctrl+C命令来停止它。 我想让它通用,所以不想使用Ctrl+C命令,而是想在几秒钟后(比如5秒)自行终止它。在
def LOGGER():
buildID=os.popen("adb shell getprop ro.build.id").read().strip()
device=os.popen("adb shell getprop ro.product.device").read().strip()
Log = ("D:\\Profiles\\hjv743\\Desktop\\Logs\\"+device+"_"+buildID)
if not os.path.isdir(Log):
os.mkdir(Log)
os.system("adb pull /data/logger "+Log+"\\flash")
os.system("adb pull /sdcard-ext/logger "+Log+"\\sdcard-ext")
我尝试过使用进程的pid来终止进程,但它没有终止它,它继续在后台运行(不用说进程名总是“logcat”,因为进程是adb logcat)
同样,在这个完整的过程中,我的应用程序在进程运行时保持挂起状态,因此我无法使用另一个按钮(使用Tkinter)来终止正在运行的进程。所以我唯一的选择就是在一段时间后自动终止它。 这对我的应用程序非常重要,因为我不能在整个过程中与它交互。在
我这样做是错误的吗?还有其他方法可以做同样的过程吗。我是否可以在后台启动(adb logcat)进程,并再引入一个按钮来获取pid并手动终止它。在
感谢任何帮助。在
导入操作系统、系统
在操作系统(“adb logcat-d | grep-i行缓冲搜索字符串>;日志测试.txt“)
行缓冲->;用于将控制台输出复制到日志测试.txt在
-d->;防止logcat进程等待无限时间
如果不想无限期运行进程,可以使用“-d”标志。 如“adb logcat-d”。这样你就不必费心去终止进程了。:)
相关问题 更多 >
编程相关推荐