summaryrefslogtreecommitdiff
path: root/kvmd
diff options
context:
space:
mode:
authorMaxim Devaev <[email protected]>2024-07-08 04:53:24 +0300
committerMaxim Devaev <[email protected]>2024-07-08 04:53:24 +0300
commit237d39b17224f09211cb242876717a7ef7c99d5b (patch)
tree5b697aca1bf74a4b9a554cb7c8f09333cfbb40f4 /kvmd
parenteb1eb527f8b7d0e3156f80564d8798fffacdd3ed (diff)
Removed kvmd-cleanup
Systemd kills all orphaned children when using KillMode=mixed
Diffstat (limited to 'kvmd')
-rw-r--r--kvmd/apps/cleanup/__init__.py75
-rw-r--r--kvmd/apps/cleanup/__main__.py24
2 files changed, 0 insertions, 99 deletions
diff --git a/kvmd/apps/cleanup/__init__.py b/kvmd/apps/cleanup/__init__.py
deleted file mode 100644
index 9f729ef1..00000000
--- a/kvmd/apps/cleanup/__init__.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# ========================================================================== #
-# #
-# KVMD - The main PiKVM daemon. #
-# #
-# Copyright (C) 2018-2024 Maxim Devaev <[email protected]> #
-# #
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation, either version 3 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see <https://www.gnu.org/licenses/>. #
-# #
-# ========================================================================== #
-
-
-import signal
-import time
-
-import psutil
-
-from ...logging import get_logger
-
-from ...yamlconf import Section
-
-from .. import init
-
-
-# =====
-def _kill_streamer(config: Section) -> None:
- logger = get_logger(0)
-
- if config.streamer.process_name_prefix:
- prefix = config.streamer.process_name_prefix + ":"
- logger.info("Trying to find and kill the streamer %r ...", prefix + " <app>")
-
- for proc in psutil.process_iter():
- attrs = proc.as_dict(attrs=["name"])
- if attrs.get("name", "").startswith(prefix):
- try:
- proc.send_signal(signal.SIGTERM)
- except Exception:
- logger.exception("Can't send SIGTERM to streamer with pid=%d", proc.pid)
- time.sleep(3)
- if proc.is_running():
- try:
- proc.send_signal(signal.SIGKILL)
- except Exception:
- logger.exception("Can't send SIGKILL to streamer with pid=%d", proc.pid)
-
-
-# =====
-def main(argv: (list[str] | None)=None) -> None:
- config = init(
- prog="kvmd-cleanup",
- description="Kill KVMD and clear resources",
- check_run=True,
- argv=argv,
- )[2].kvmd
-
- logger = get_logger(0)
- logger.info("Cleaning up ...")
-
- try:
- _kill_streamer(config)
- except Exception:
- pass
-
- logger.info("Bye-bye")
diff --git a/kvmd/apps/cleanup/__main__.py b/kvmd/apps/cleanup/__main__.py
deleted file mode 100644
index 4827fc49..00000000
--- a/kvmd/apps/cleanup/__main__.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# ========================================================================== #
-# #
-# KVMD - The main PiKVM daemon. #
-# #
-# Copyright (C) 2018-2024 Maxim Devaev <[email protected]> #
-# #
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation, either version 3 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see <https://www.gnu.org/licenses/>. #
-# #
-# ========================================================================== #
-
-
-from . import main
-main()