123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- """Allow customization of the process title."""
- import os
- import sys
- import logging
- logger = logging.getLogger("setproctitle")
- __version__ = "1.3.5"
- __all__ = [
- "setproctitle",
- "getproctitle",
- "setthreadtitle",
- "getthreadtitle",
- ]
- def setproctitle(title: str) -> None:
- logger.debug("setproctitle C module not available")
- return None
- def getproctitle() -> str:
- logger.debug("setproctitle C module not available")
- return " ".join(sys.argv)
- def setthreadtitle(title: str) -> None:
- logger.debug("setproctitle C module not available")
- return None
- def getthreadtitle() -> str:
- logger.debug("setproctitle C module not available")
- return ""
- try:
- from . import _setproctitle # type: ignore
- except ImportError as e:
- # Emulate SPT_DEBUG showing process info in the C module.
- if os.environ.get("SPT_DEBUG", ""):
- logging.basicConfig()
- logger.setLevel(logging.DEBUG)
- logger.debug("failed to import setproctitle: %s", e)
- else:
- setproctitle = _setproctitle.setproctitle # noqa: F811
- getproctitle = _setproctitle.getproctitle # noqa: F811
- setthreadtitle = _setproctitle.setthreadtitle # noqa: F811
- getthreadtitle = _setproctitle.getthreadtitle # noqa: F811
- # Call getproctitle to initialize structures and avoid problems caused
- # by fork() on macOS (see #113).
- if sys.platform == "darwin":
- getproctitle()
|