Как сделать секундомер, который начинает отсчет при запуске подпроцесса и останавливается по его завершению
Я сделал лаунчер для игр на Линукс Debian, потому что не хотел каждый раз заходить в директорию и вводить команду. Хотел бы добавить в него секундомер, который бы запускался при открытии игры, переставал считать при ее закрытии и сбрасывался при новом запуске игры. Попытка найти решение в сети или с помощью ChatGPT не увенчалась успехом.
Текущий код:
#!/usr/bin/env python3
import tkinter as tk
import subprocess
bash_script1 = "/home/dimon/Документы/лаунчер/launcherterarria"
bash_script2 = "/home/dimon/Документы/лаунчер/launcherundatrale"
def terraria():
subprocess.run(bash_script1)
def undertale():
subprocess.run(bash_script2)
root = tk.Tk()
root.resizable(False, False)
greeting = tk.Label(text="Во что будем играть?")
timer = tk.Label(text ="Текущая сеция длилась: 00:00")
terraria_button = tk.Button(text = "Терария!", command = terraria)
undertale_button = tk.Button(text = "Андертейл", command = undertale)
greeting.pack()
undertale_button.pack()
terraria_button.pack()
timer.pack()
root.mainloop()
Мне нужно, чтобы при запуске игры включался секундомер, при выключении он тоже переставал работать, при повторном запуске игры сбрасывался и снова включался.
Источник: Stack Overflow на русском