איך לגרום לתכנה שלא מגיבה לקרוס באופן אוטומטי
-
@AVI12 השורה הבאה ב-CMD ([מקור](CMD ((https://stackoverflow.com/q/53938743))) יבדוק אם תוכנה מגיב, ואם לא יהרוג את התהליך ויתחיל אותו שוב:
taskkill /im "exeName.exe" /fi "STATUS eq NOT RESPONDING" /f >nul && start "" "pathToExe"
כמובן, צריך להחליף את הערך
exeName.exe
עם שם התוכנה והערךpathToExe
עם הנתיב של קובץ התוכנה. -
@AVI12 הנה קובץ BAT שלם שמריץ את התוכנה (צריך להכניס את שם התוכנה בשורה השלישית במקום
c:\the path\to\the program.exe
) ובודק כל 5 שניות אם התהליך מגיב. במקרה שלא, זה הורג את התהליך ומריץ אותו שוב.@echo off REM בשורה הבאה תחליף את הנתיב בנתיב האמית לקובץ של התוכנה set PROG=c:\the path\to\the program.exe For %%A in ("%PROG%") do ( Set IMAGENAME=%%~nxA ) start "" "%PROG%" :loop taskkill.exe /F /IM "%IMAGENAME%" /FI "STATUS eq NOT RESPONDING" |findstr SUCCESS && start "" "%PROG%" timeout /T 5 cls goto loop
@רחמים אני חושב שהרצת סקריפט ב-loop יותר טוב ממתזמן המשימות עבור מקרים כמו אלו
-
@yossiz אמר באיך לגרום לתכנה שלא מגיבה לקרוס באופן אוטומטי:
@AVI12 יש לזה כמה פתרונות. יש אחד שהוא איזה שורה שכותבים בתחילת הקובץ, אני צריך לחפש אותו
אולי זה יעזור...