From 43fe30181b104d59382e2454114a29289fdf6cf9 Mon Sep 17 00:00:00 2001 From: Max G Date: Fri, 10 Jul 2020 22:47:47 +0300 Subject: [PATCH 1/2] Check if a service is running (Fixed #1337) --- updateHostsFile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/updateHostsFile.py b/updateHostsFile.py index 8eaff1717..a2f09ebd9 100644 --- a/updateHostsFile.py +++ b/updateHostsFile.py @@ -1306,6 +1306,9 @@ def flush_dns_cache(): ) if os.path.isfile(service_file): + if 0 != subprocess.call([systemctl, "status", service], + stdout=subprocess.DEVNULL): + continue dns_cache_found = True if subprocess.call(SUDO + [systemctl, "restart", service]): From 9e3db93d92e7cbb13b3674cb9d58e4a3ad417857 Mon Sep 17 00:00:00 2001 From: Max G Date: Fri, 10 Jul 2020 23:43:09 +0300 Subject: [PATCH 2/2] Updated test --- testUpdateHostsFile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testUpdateHostsFile.py b/testUpdateHostsFile.py index 62616dbc9..8a3b4e49d 100644 --- a/testUpdateHostsFile.py +++ b/testUpdateHostsFile.py @@ -1324,7 +1324,7 @@ class TestFlushDnsCache(BaseStdout): self.assertIn(expected, output) @mock.patch("os.path.isfile", side_effect=[True, False, False, True] + [False] * 10) - @mock.patch("subprocess.call", side_effect=[1, 0]) + @mock.patch("subprocess.call", side_effect=[1, 0, 0]) def test_flush_posix_fail_then_succeed(self, *_): with self.mock_property("platform.system") as obj: obj.return_value = "Linux"