code: def kill_process_children_unix(pid):
      
      root_process_path = "/proc/{pid}/task/{pid}/children".format(pid=pid)
      if not os.path.isfile(root_process_path):
          return
      with open(root_process_path) as children_list_file:
          children_list_pid = children_list_file.read().split()
  
      for child_pid in children_list_pid:
          children_proc_path = "/proc/%s/task/%s/children" % (
              child_pid,
              child_pid,
          )
          if not os.path.isfile(children_proc_path):
              continue
          with open(children_proc_path) as children_list_file_2:
              children_list_pid_2 = children_list_file_2.read().split()
          for _pid in children_list_pid_2:
              try:
                  os.kill(int(_pid), signal.SIGTERM)
              except ProcessLookupError:
                  continue
          try:
              os.kill(int(child_pid), signal.SIGTERM)
          except ProcessLookupError:
              continue
docs: Find and kill child processes of a process (maximum two level).
  
      :param pid: PID of parent process (process ID)
      :return: Nothing