code: def test_close_kill_running(self):
      async def kill_running():
          create = self.loop.subprocess_exec(
              asyncio.SubprocessProtocol, *PROGRAM_BLOCKED
          )
          transport, protocol = await create
  
          kill_called = False
  
          def kill():
              nonlocal kill_called
              kill_called = True
              orig_kill()
  
          proc = transport.get_extra_info("subprocess")
          orig_kill = proc.kill
          proc.kill = kill
          returncode = transport.get_returncode()
          transport.close()
          await asyncio.wait_for(transport._wait(), 5)
          return (returncode, kill_called)
  
      # Ignore "Close running child process: kill ..." log
      with test_utils.disable_logger():
          try:
              returncode, killed = self.loop.run_until_complete(
                  kill_running()
              )
          except asyncio.TimeoutError:
              self.skipTest(
                  "Timeout failure on waiting for subprocess stopping"
              )
      self.assertIsNone(returncode)
  
      # transport.close() must kill the process if it is still running
      self.assertTrue(killed)
      test_utils.run_briefly(self.loop)
  
imports: import os
  import signal
  import sys
  import textwrap
  import unittest
  import warnings
  from unittest import mock
  import asyncio
  from asyncio import base_subprocess
  from asyncio import subprocess
  from test.test_asyncio import utils
  from test import support
  from test.support import os_helper
label_desc: Use image node_id 22 for calling the SubprocessMixin obj's underlying member method code with example usage: obj.test_close_kill_running() and returns: returncode,  kill_called