import _winapi import os import signal import subprocess import sys import unittest class Tests(unittest.TestCase): def test_kill_self(self): if 1: args = [sys.executable, '-c', 'import time; time.sleep(10); print("done", flush=True)'] proc = subprocess.Popen(args) if os.name == 'nt': handle = _winapi.OpenProcess(_winapi.PROCESS_ALL_ACCESS, True, os.getpid()) _winapi.TerminateProcess(handle, 1) _winapi.CloseHandle(handle) else: os.kill(os.getpid(), signal.SIGKILL) proc.wait()