À©µµ¿ì ÀÚµ¿ Á¾·á ÇÁ·Î±×·¥À» ¸¸µé°í ½Í½À´Ï´Ù.
±Ùµ¥ Àü ÄÚµù 1µµ ¸ð¸¨´Ï´Ù ÇæÇæÇæ
±×·¡¼ ChatGTP¿¡°Ô ¹°¾îºÃ½À´Ï´Ù.
ÆÄÀ̽ãÀ¸·Î ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥À» ¸¸µé¾î Áà. 1) ƯÁ¤ ÇÁ·Î±×·¥À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. 2) ÇØ´ç ÇÁ·Î±×·¥ÀÇ CPU»ç¿ë·®ÀÌ ÀÏÁ¤¼öÁØ ÀÌÇÏ·Î ³»·Á°¡°Ô µÇ¸é, À©µµ¿ì¸¦ Á¾·áÇÏ°Ô ÇÔ. 3) GUI·Î Á¶ÀÛ°¡´É.
±×·¨´õ´Ï ´ÙÀ½°ú °°ÀÌ ¾Ë·ÁÁֳ׿ä.
´ç½ÅÀÌ ¿äûÇÑ ÇÁ·Î±×·¥Àº ´ÙÀ½°ú °°Àº ±â´ÉÀ» °®Ãß°í ÀÖ¾î¾ß ÇÕ´Ï´Ù:
- »ç¿ëÀÚ°¡ ƯÁ¤ ÇÁ·Î±×·¥À» ¼±ÅÃÇÒ ¼ö ÀÖ´Â ±â´É
- ¼±ÅÃÇÑ ÇÁ·Î±×·¥ÀÇ CPU »ç¿ë·®À» ¸ð´ÏÅ͸µÇÏ°í, ÀÏÁ¤ ¼öÁØ ÀÌÇÏ·Î ³»·Á°¥ ¶§ À©µµ¿ì¸¦ Á¾·áÇÏ´Â ±â´É
- »ç¿ëÀÚ°¡ GUI¸¦ ÅëÇØ ÇÁ·Î±×·¥À» Á¶ÀÛÇÒ ¼ö ÀÖ¾î¾ß ÇÔ
ÀÌ·± ÇÁ·Î±×·¥À» ¸¸µé±â À§Çؼ´Â ¸î °¡Áö Python ¶óÀ̺귯¸®¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. Tkinter¸¦ ÀÌ¿ëÇÏ¿© GUI¸¦ ¸¸µé°í, psutil ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ¿© CPU »ç¿ë·®À» ¸ð´ÏÅ͸µÇÒ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ subprocess ¸ðµâÀ» »ç¿ëÇÏ¿© ¼±ÅÃÇÑ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°í Á¾·áÇÒ °ÍÀÔ´Ï´Ù. ¾Æ·¡´Â ÀÌ·¯ÇÑ ¿ä±¸»çÇ×À» ÃæÁ·ÇÏ´Â °£´ÜÇÑ ¿¹Á¦ ÄÚµåÀÔ´Ï´Ù.
import tkinter as tk import psutil import subprocess import time class ProgramMonitor: def __init__(self, program_path, cpu_threshold): self.program_path = program_path self.cpu_threshold = cpu_threshold self.root = tk.Tk() self.root.title("ÇÁ·Î±×·¥ ¸ð´ÏÅÍ") self.label = tk.Label(self.root, text="ÇÁ·Î±×·¥ ¸ð´ÏÅ͸µ Áß...") self.label.pack() self.start_button = tk.Button(self.root, text="ÇÁ·Î±×·¥ ½ÃÀÛ", command=self.start_program) self.start_button.pack() self.stop_button = tk.Button(self.root, text="ÇÁ·Î±×·¥ Á¾·á", command=self.stop_program, state=tk.DISABLED) self.stop_button.pack() self.root.mainloop() def start_program(self): self.label.config(text="ÇÁ·Î±×·¥ ½ÇÇà Áß...") self.process = subprocess.Popen(self.program_path) self.start_button.config(state=tk.DISABLED) self.stop_button.config(state=tk.NORMAL) self.monitor_cpu() def stop_program(self): self.label.config(text="ÇÁ·Î±×·¥ Á¾·á Áß...") self.process.terminate() self.label.config(text="ÇÁ·Î±×·¥ Á¾·áµÊ") self.start_button.config(state=tk.NORMAL) self.stop_button.config(state=tk.DISABLED) def monitor_cpu(self): while True: cpu_percent = psutil.cpu_percent(interval=1) if cpu_percent < self.cpu_threshold: self.label.config(text="CPU »ç¿ë·®ÀÌ ³Ê¹« ³·¾Æ À©µµ¿ì¸¦ Á¾·áÇÕ´Ï´Ù.") self.root.after(2000, self.shutdown_windows) # 2ÃÊ ÈÄ À©µµ¿ì Á¾·á break time.sleep(1) def shutdown_windows(self): # À©µµ¿ì¸¦ Á¾·áÇÏ´Â ÄÚµå ÀÛ¼º pass if __name__ == "__main__": program_path = "path_to_your_program.exe" # ½ÇÇàÇÒ ÇÁ·Î±×·¥ÀÇ °æ·Î cpu_threshold = 10 # CPU »ç¿ë·®ÀÇ ÀÓ°è°ª (%) monitor = ProgramMonitor(program_path, cpu_threshold)
ÀÌ Äڵ带 ½ÇÇàÇϸé GUI°¡ ³ªÅ¸³ª°í, "ÇÁ·Î±×·¥ ½ÃÀÛ" ¹öÆ°À» Ŭ¸¯ÇÏ¿© ¿øÇÏ´Â ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸é CPU »ç¿ë·®ÀÌ ¸ð´ÏÅ͸µµÇ°í, ¼³Á¤ÇÑ ÀÓ°è°ª ÀÌÇÏ·Î ³»·Á°¡¸é À©µµ¿ì°¡ Á¾·áµË´Ï´Ù. "ÇÁ·Î±×·¥ Á¾·á" ¹öÆ°À» Ŭ¸¯Çϸé ÇÁ·Î±×·¥À» Á¾·áÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Äڵ带 ¿øÇÏ´Â ´ë·Î ¼öÁ¤ÇÏ¿© »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
ÀÌÁ¨ ÀÌ°É ¾î¶»°Ô ÇØ¾ß µÇ³ª¿ä???
2022.01.04 °£¾Ï3±â ÆÇÁ¤...... ¤¶¤²..
2022.01.12 ¼¿ï¾Æ»êº´¿ø ÀÔ¿ø .. ¾à 7cmÂ¥¸® Á¾¾ç È®ÀÎ.. ¼ö¼úºÒ°¡ ÆÇÁ¤....
2022.01.20 S6¿¡ ÈÇлöÀü¼ú ½ÃÇà
2022.02.15~ 3ÁÖ°£ °£¹®¸Æ Ç÷°üÀ¸·Î È®ÀåÇÑ ¾ÏÁ¶Á÷¿¡ ´ëÇØ ¹æ»ç¼±Ä¡·áÁøÇà..
2022.03.06 S6¿¡ ÈÇлöÀü¼ú 2Â÷½ÃÇà
2022.04.20 S6¿¡ ÈÇлöÀü¼ú 3Â÷½ÃÇà
2022.05.12 Á¿ì Æó¿¡ °¢°¢ 1/2±â¿¡ ÇØ´çÇÏ´Â ÀüÀÌ È®ÀÎ --> ÀÌ·ÎÀÎÇØ 4±â È®Á¤
2022.06.09 1Â÷ ¼ö¼ú - °£ÀýÁ¦
2022.06.30 2Â÷ ¼ö¼ú - ÆóÀýÁ¦
2022.07.15 1Â÷ Ç×¾Ï - ¸é¿ª + Ç¥ÀûÇ×¾Ï (Çѹø¿¡ 500¸¸¿øÂ¥¸®... ´ÙÇàÈ÷ ³ª´Â ±î´Ù·Î¿î Á¶°Ç¿¡ ¸Â¾Æ 20¸¸¿øÀ¸·Î º¸Çèó¸®)
»ì¾Æ³»°í¾ß ¸»°Ú´Ù. --> ÀÌÁ¦ »ì±ä »ì¾Ò´Ù...
»¡¸® »çȸ·Î º¹±ÍÇÏ°í ½Í´Ù!!!
¾î¼ »ç¶÷±¸½Ç ÇÏ°í ½Í´Ù!!!!!