diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2020-01-05 15:37:38 -0800 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2020-01-05 15:37:38 -0800 |
commit | 9eb72ab5fd56d422d067eb1ce1bfa59b59b29d03 (patch) | |
tree | 93d71a66551d23cb36e6bcfc69eea115061d14e7 | |
parent | 18259d54fc86cc2eb031a3dfb5ca2432574eb266 (diff) | |
download | psutil-9eb72ab5fd56d422d067eb1ce1bfa59b59b29d03.tar.gz |
move send_signal() code into windows module
-rw-r--r-- | psutil/__init__.py | 11 | ||||
-rw-r--r-- | psutil/_pswindows.py | 12 |
2 files changed, 12 insertions, 11 deletions
diff --git a/psutil/__init__.py b/psutil/__init__.py index bf34b429..d33d55e8 100644 --- a/psutil/__init__.py +++ b/psutil/__init__.py @@ -1211,16 +1211,7 @@ class Process(object): if POSIX: self._send_signal(sig) else: # pragma: no cover - if sig == signal.SIGTERM: - self._proc.kill() - # py >= 2.7 - elif sig in (getattr(signal, "CTRL_C_EVENT", object()), - getattr(signal, "CTRL_BREAK_EVENT", object())): - self._proc.send_signal(sig) - else: - raise ValueError( - "only SIGTERM, CTRL_C_EVENT and CTRL_BREAK_EVENT signals " - "are supported on Windows") + self._proc.send_signal(sig) @_assert_pid_not_reused def suspend(self): diff --git a/psutil/_pswindows.py b/psutil/_pswindows.py index b4dd9bc1..58c795bd 100644 --- a/psutil/_pswindows.py +++ b/psutil/_pswindows.py @@ -8,6 +8,7 @@ import contextlib import errno import functools import os +import signal import sys import time from collections import namedtuple @@ -865,7 +866,16 @@ class Process(object): @wrap_exceptions def send_signal(self, sig): - os.kill(self.pid, sig) + if sig == signal.SIGTERM: + cext.proc_kill(self.pid) + # py >= 2.7 + elif sig in (getattr(signal, "CTRL_C_EVENT", object()), + getattr(signal, "CTRL_BREAK_EVENT", object())): + os.kill(self.pid, sig)(sig) + else: + raise ValueError( + "only SIGTERM, CTRL_C_EVENT and CTRL_BREAK_EVENT signals " + "are supported on Windows") @wrap_exceptions def wait(self, timeout=None): |