Mini Shell
"""Allow customization of the process title."""
import os
import sys
import logging
logger = logging.getLogger("setproctitle")
__version__ = "1.3.2"
__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()
Zerion Mini Shell 1.0