@AlerX

Как узнать какое время работает процесс?

Здравствуйте, хочу узнать сколько работает времени процесс.

Что именно хочу получить в итоге:
#Запуск процесса
Prcs = Process(target=sending, args=(txt))
Prcs.start()
time.sleep(10)

print(timeprocess(Prcs)) # - 10 секунд
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Можно использовать декоратор, измеряющий время выполнения.
import time
from functools import wraps
from multiprocessing import Process


def timed(f):
    @wraps(f)
    def decorator(*args, **kwargs):
        start = time.monotonic()
        try:
            return f(*args, **kwargs)
        finally:
            print('Execution time: ' + str(time.monotonic() - start))
    return decorator


@timed
def example():
    print('Start')
    time.sleep(1)
    print('Finish')


if __name__ == '__main__':
    p = Process(target=example)
    p.start()
    p.join()

Если время нужно не выводить, а получить в переменную, то из декоратора можно возвращать кортеж, содержащий результат и время выполнения функции.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
netpastor
@netpastor
Python developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы