예제 #1
0
    def __stop(self):
        # 停止v2ray进程
        common.kill_progress(self.v2ray_exe_name)
        # 停止代理进程
        common.kill_progress(self.proxy_exe_name)

        self.set_proxy('Off')
        self.stopedSignal.emit()
예제 #2
0
    def __start(self):
        # 停止v2ray进程
        common.kill_progress(self.v2ray_exe_name)
        # 停止代理进程
        common.kill_progress(self.proxy_exe_name)

        _thread.start_new_thread(self.start_v2ray, ())
        _thread.start_new_thread(self.start_proxy, ())

        mode = setting_instance.settings['proxy_mode']
        if mode == 'Off':
            setting_instance.set_proxy_mode('ProxyOnly')

        self.set_proxy(mode)
        self.startedSignal.emit()
예제 #3
0
 def kill_progress(self):
     """
     强制停止进程
     """
     status = common.kill_progress(self.mysqld_name)
     if status:
         return 'ok'
     else:
         return 'error'
예제 #4
0
파일: aria2.py 프로젝트: zhouhuashan/ZTool
    def start_aria2(self):
        """
        启动aria2 需要开启新线程启动,会阻塞
        """
        # 干掉上次的aria2进程
        common.kill_progress('aria2c.exe')

        args = []
        for item in self.default_config.items():
            args.append('--' + item[0] + '=' + item[1])

        args.insert(0, self.aria2_path)
        popen = subprocess.Popen(
            args,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            # bufsize=1,
            creationflags=subprocess.CREATE_NO_WINDOW)
        self.popen = popen
        # 重定向标准输出 None表示正在执行中
        while popen.poll() is None:
            r = popen.stdout.readline().decode('utf8')
            if r.replace('\r', '').replace('\n', '').strip(' ') != '':
                logging.debug(r.replace('\n', ''))
예제 #5
0
    def __restart(self):
        common.kill_progress(self.v2ray_exe_name)
        common.kill_progress(self.proxy_exe_name)
        self.set_proxy('Off')

        self.__start()