如何监控realtim子流程

2024-10-01 09:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的新手。在

我正在做一个项目。在

通过单击按钮a,命令“adb shell getevent”将在一个子进程中执行。 将生成一个文件。 如果有人点击连接的设备,会不时有结果。在

单击按钮B将停止

class MyClass():
...
    def recordCmd(self):
        cmd = []
        cmd.append("adb")
        cmd.append("shell")
        cmd.append("getevent")
        cmd.append("/dev/input/event0")
        p = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE)
        for line in p.stdout:
            print line

    def OnRecordEvent(self, event):
    '''
     call "adb shell getevent /dev/input/event0 " to collect events
     '''
    mp = multiprocessing.Process(target=self.recordCmd, args=(self,))
    mp.daemon= True
    mp.start()
....

这不起作用,将引发以下错误:

^{pr2}$

有人能帮我吗?在


Tags: devselfcmdinputdefstdoutmpshell
1条回答
网友
1楼 · 发布于 2024-10-01 09:23:26

multiprocessing在进程之间复制对象时使用pickle。错误消息似乎表明MyClass包含无法提取的内容。在

您可以将recordCmd函数从类中取出,因为它并没有引用self。在

相关问题 更多 >