<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
The `wait_for` integration test when run on macOS hosts in combination with some other tests results in a stack trace due to a zombie process. This appears in the `devel` nightlihtlies and occasionally in PRs. I am unable to duplicate this issue when running only the `wait_for` test, so it seems to be a test interaction issue. [Example test failure](https://app.shippable.com/github/ansible/ansible/runs/175420/17/tests).


##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
`test/integration/targets/wait_for`
##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
devel
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
Shippable

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Shippable

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
Run the nightly integration test.

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
Tests pass.

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
Test fails with stack trace
<!--- Paste verbatim command output between quotes -->
```paste below
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/psutil/_psosx.py", line 363, in catch_zombie
    yield
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/psutil/_psosx.py", line 532, in connections
    rawlist = cext.proc_connections(self.pid, families, types)
ProcessLookupError: [Errno 3] No such process (originated from proc_pidinfo())

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/root/.ansible/tmp/ansible-tmp-1603438181.978554-24193-108782891618547/AnsiballZ_wait_for.py", line 140, in <module>
    _ansiballz_main()
  File "/var/root/.ansible/tmp/ansible-tmp-1603438181.978554-24193-108782891618547/AnsiballZ_wait_for.py", line 132, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/var/root/.ansible/tmp/ansible-tmp-1603438181.978554-24193-108782891618547/AnsiballZ_wait_for.py", line 81, in invoke_module
    runpy.run_module(mod_name='ansible.modules.wait_for', init_globals=None, run_name='__main__', alter_sys=True)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 207, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/tmp/ansible_wait_for_payload_dp2d351v/ansible_wait_for_payload.zip/ansible/modules/wait_for.py", line 667, in <module>
  File "/tmp/ansible_wait_for_payload_dp2d351v/ansible_wait_for_payload.zip/ansible/modules/wait_for.py", line 651, in main
  File "/tmp/ansible_wait_for_payload_dp2d351v/ansible_wait_for_payload.zip/ansible/modules/wait_for.py", line 295, in get_active_connections_count
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/psutil/__init__.py", line 1182, in connections
    return self._proc.connections(kind)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/psutil/_psosx.py", line 342, in wrapper
    return fun(self, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/psutil/_psosx.py", line 532, in connections
    rawlist = cext.proc_connections(self.pid, families, types)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/psutil/_psosx.py", line 374, in catch_zombie
    raise ZombieProcess(proc.pid, proc._name, proc._ppid)
psutil.ZombieProcess: psutil.ZombieProcess process still exists but it's a zombie (pid=23005)
```

"""
    Convert the provided host to the format in /proc/net/tcp*
    /proc/net/tcp uses little-endian four byte hex for ipv4
    /proc/net/tcp6 uses little-endian per 4B word for ipv6
    Args:
        host: String with either hostname, IPv4, or IPv6 address
    Returns:
        List of tuples containing address family and the
        little-endian converted host
    """
    ips = []
    if host is not None:
        for family, ip in _convert_host_to_ip(host):
            hexip_nf = binascii.b2a_hex(socket.inet_pton(family, ip))
            hexip_hf = ""
            for i in range(0, len(hexip_nf), 8):
                ipgroup_nf = hexip_nf[i:i + 8]
                ipgroup_hf = socket.ntohl(int(ipgroup_nf, base=16))
                hexip_hf = "%s%08X" % (hexip_hf, ipgroup_hf)
            ips.append((family, hexip_hf))
    return ips
def _timedelta_total_seconds(timedelta):