при закрытии программы процесс продолжает работать

Валентин

Новичок
Пользователь
Ноя 13, 2020
114
1
18
При закрытии программы, процессы не останавливаются и продолжают работать в фоне. Как сделать чтобы при завершении программы, процессы тоже останавливались?

import os
import re
import keyboard
import pymem
from pymem import process
import time
import sys
from ui import Ui_Dialog
from offsets import *
from PySide import QtCore, QtGui
import threading
from threading import Thread

код
Код:
import os
import re
import keyboard
import pymem
from pymem import process
import time
import sys
from ui import Ui_Dialog
from offsets import *
from PySide import QtCore, QtGui
import threading
from threading import Thread

# create application

# Create form and init UI
app = QtGui.QApplication(sys.argv)
Dialog = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
# Hook Logic

def start_bhop():
    Thread(target=BHOP).start()

ui.pushButton.clicked.connect(start_bhop)

_process = pymem.Pymem("csgo.exe")
_client = pymem.process.module_from_name(_process.process_handle, "client.dll").lpBaseOfDll


def BHOP():
    ui.lineEdit.setText( "BHOP activated" )



    while True:
        try:
            if keyboard.is_pressed("space"):
                player = _process.read_int(_client + dwLocalPlayer)
                jump = _client + dwForceJump
                player_state = _process.read_int(player + m_fFlags)

                if player_state == 257 or player_state == 263:  # 257 - player on ground, 263 - crouch
                    _process.write_int(jump, 5)
                    time.sleep(0.1)  # Чем меньше задержка - тем лучше bhop, но большая нагрузка на процессор
                    _process.write_int(jump, 4)
        except pymem.exception.MemoryReadError:
            pass







def tm():
    os.system("start \"\" https://t.me/yes")

ui.pushButton_2.clicked.connect(tm)




# Run main loop
sys.exit(app.exec_())
Пробовал sys.exit() и тому подобное. Программа запускается и сразу же закрывается, если использовать sys.exit()
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Как сделать чтобы при завершении программы, процессы тоже останавливались?
Нужно остановить цикл в потоке.
Или можете попробовать сделать поток фоновым, тогда он должен завершится при завершении программы.
Python:
Thread(target=BHOP, daemon=True).start()
 

Валентин

Новичок
Пользователь
Ноя 13, 2020
114
1
18
Нужно остановить цикл в потоке.
Или можете попробовать сделать поток фоновым, тогда он должен завершится при завершении программы.
Python:
Thread(target=BHOP, daemon=True).start()
Спасибо огромное, помогло)
 

Форум IT Специалистов