Skip to main content
Glama

list_java_processes

List all running Java processes with their IDs, names, and arguments for monitoring and analysis.

Instructions

列出所有Java进程

        Returns:
            List[Dict[str, str]]: 包含Java进程信息的列表,每个进程包含以下字段:
                - pid (str): 进程ID
                - name (str): 进程名称
                - args (str): 进程参数
        

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function for the 'list_java_processes' MCP tool. It is registered via the @self.mcp.tool() decorator and executes JpsCommand to retrieve and return a list of Java processes.
    @self.mcp.tool()
    def list_java_processes() -> List[Dict[str, str]]:
        """列出所有Java进程
    
        Returns:
            List[Dict[str, str]]: 包含Java进程信息的列表,每个进程包含以下字段:
                - pid (str): 进程ID
                - name (str): 进程名称
                - args (str): 进程参数
        """
        cmd = JpsCommand(self.executor, JpsFormatter())
        result = cmd.execute()
        processes = []
        if result.get('success'):
            for proc in result['processes']:
                processes.append(proc)
        return processes
  • Helper classes JpsCommand (executes 'jps -l -v') and JpsFormatter (parses output into structured list of processes with pid, name, args) used by the list_java_processes tool.
    class JpsCommand(BaseCommand):
        """JPS命令实现"""
    
        def get_command(self, *args, **kwargs) -> str:
            """获取jps命令
    
            Returns:
                str: jps命令字符串
            """
            # 使用 -l 显示完整的包名,-v 显示JVM参数
            return 'jps -l -v'
    
    class JpsFormatter(OutputFormatter):
        """JPS输出格式化器"""
    
        def format(self, result: CommandResult) -> Dict[str, Any]:
            """格式化jps命令输出
    
            Args:
                result: 命令执行结果
    
            Returns:
                Dict[str, Any]: 格式化后的结果,包含进程列表
            """
            processes: List[Dict[str, str]] = []
    
            for line in result.output.splitlines():
                if line.strip():
                    # jps输出格式:<pid> <class> <jvm args>
                    parts = line.split(None, 2)
                    # 确保至少有 pid 和 class 两个部分
                    if len(parts) >= 2 and parts[0].isdigit():
                        process = {
                            "pid": parts[0],
                            "name": parts[1],
                            "args": parts[2] if len(parts) > 2 else ""
                            }
                        processes.append(process)
    
            return {
                "success": result.success,
                "processes": processes,
                "execution_time": result.execution_time,
                "timestamp": result.timestamp.isoformat()
                }
  • Output schema defined in the tool's docstring and type annotation: List of dicts with 'pid', 'name', 'args' fields.
        List[Dict[str, str]]: 包含Java进程信息的列表,每个进程包含以下字段:
            - pid (str): 进程ID
            - name (str): 进程名称
            - args (str): 进程参数
    """

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xzq-xu/jvm-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server