diff --git a/dislocker_client.py b/dislocker_client.py index f8bd131..32e10ea 100644 --- a/dislocker_client.py +++ b/dislocker_client.py @@ -388,40 +388,42 @@ class Stop(): print(f"エラー: 指定されたディレクトリ {dir_path} が存在しません。") return 1 - try: - # プロセスの終了 - subprocess.run(['taskkill', '/f', '/t', '/im', process_name]) - print(f"{process_name} を終了しました。") + i = 0 + i_max = 10 + result = 1 + while i != i_max: + i += 1 + try: + # プロセスの終了 + subprocess.run(['taskkill', '/f', '/t', '/im', process_name]) + print(f"{process_name} を終了しました。") - time.sleep(0.1) + time.sleep(0.1) - # ディレクトリの削除 - i = 1 - ic = 0 - while i == 1: + # ディレクトリの削除 + shutil.rmtree(dir_path) if os.path.isdir(dir_path): - ic += 1 - if ic == 10: - i = 0 + pass else: - i = 0 print(f"{dir_path} を削除しました。") + result = 0 + i = i_max - return 0 + except subprocess.CalledProcessError as e: + print(f"プロセス終了エラー: {e}") + + except PermissionError as e: + print(f"権限エラー: {e}") + + except Exception as error: + print("エラーが発生しました。\nエラー内容:") + print(f"エラータイプ: {error.__class__.__name__}") + print(f"エラー引数: {error.args}") + print(f"エラーメッセージ: {str(error)}") + + return result - except subprocess.CalledProcessError as e: - print(f"プロセス終了エラー: {e}") - return 1 - except PermissionError as e: - print(f"権限エラー: {e}") - return 1 - except Exception as error: - print("エラーが発生しました。\nエラー内容:") - print(f"エラータイプ: {error.__class__.__name__}") - print(f"エラー引数: {error.args}") - print(f"エラーメッセージ: {str(error)}") - return 1 def shutdown(self): shutdown_command = subprocess.run(['shutdown', '/s', '/t', '1'])