Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
终止「;logcat“;由我的应用程序使用Python启动的进程_Python - Fatal编程技术网

终止「;logcat“;由我的应用程序使用Python启动的进程

终止「;logcat“;由我的应用程序使用Python启动的进程,python,Python,我创建了一个小应用程序,它有一个按钮,点击该按钮将启动“adb logcat”进程,但在启动该进程后,我们必须给出Ctrl+C命令来停止它。 我想让它成为通用的,所以我不想使用Ctrl+C命令,而是想在几秒钟后(比如说5秒)终止它本身 点击按钮时开始执行的代码为: 我曾尝试使用其pid终止该进程,但它没有终止该进程,它继续在后台运行(不必提及进程名称始终为“logcat”,因为该进程是adb logcat) 在这个完整的进程中,我的应用程序在进程运行时保持挂起状态,因此我不能再点击另一个按钮(

我创建了一个小应用程序,它有一个按钮,点击该按钮将启动“adb logcat”进程,但在启动该进程后,我们必须给出Ctrl+C命令来停止它。 我想让它成为通用的,所以我不想使用Ctrl+C命令,而是想在几秒钟后(比如说5秒)终止它本身

点击按钮时开始执行的代码为:
我曾尝试使用其pid终止该进程,但它没有终止该进程,它继续在后台运行(不必提及进程名称始终为“logcat”,因为该进程是adb logcat)

在这个完整的进程中,我的应用程序在进程运行时保持挂起状态,因此我不能再点击另一个按钮(使用Tkinter)来终止正在运行的进程。所以我唯一的选择就是在一段时间后自动终止它。 这对我的应用程序非常重要,因为我无法在整个过程中与它交互

我这样做是错误的吗?还有其他方法可以做同样的过程吗。我可以在后台启动(adb logcat)进程,并引入一个按钮,该按钮将获取pid并手动终止它


非常感谢您的帮助。

如果您不想无限期地运行流程,可以使用“-d”标志。
如“adb logcat-d”所示。这样,您就不必费心终止进程了。:)

如果不想无限期地运行进程,可以使用'-d'标志。 如“adb logcat-d”所示。这样,您就不必费心终止进程了。:)

导入操作系统,系统

系统(“adb logcat-d | grep-i——行缓冲搜索字符串>logtest.txt”)

--行缓冲->用于将控制台输出到logtest.txt

-d->防止logcat进程等待无限时间

导入操作系统,系统

系统(“adb logcat-d | grep-i——行缓冲搜索字符串>logtest.txt”)

--行缓冲->用于将控制台输出到logtest.txt


-d->防止logcat进程等待无限时间

您可以尝试。它具有内置的logcat功能。告诉我进展如何。你可以试试这个。它具有内置的logcat功能。让我知道进展如何。谢谢Fixxer,在发布问题后,我在android开发者网站上找到了相同的答案。。。感谢帮助谢谢Fixxer,在发布了这个问题后,我在android开发者网站上找到了相同的答案。。。感谢你的帮助
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")