private void doListExes(List<String> params) throws IOException, LSHException {

		int limit = DEFAULT_LIST_EXE_LIMIT;
		Integer limitOption = parsePositiveIntegerOption(LIMIT_OPTION);
		if (limitOption != null) {
			limit = limitOption;
		}
		boolean includeLibs = booleanOptions.contains(INCLUDE_LIBS_OPTION);
		String md5Option = optionValueMap.get(MD5_OPTION);
		String nameOption = optionValueMap.get(NAME_OPTION);
		String archOption = optionValueMap.get(ARCH_OPTION);
		String compOption = optionValueMap.get(COMPILER_OPTION);
		String sortColumnOption = optionValueMap.get(SORT_COL_OPTION);

		try (BulkSignatures bsim = getBulkSignatures()) {
			List<ExecutableRecord> exeList = bsim.getExes(limit, md5Option, nameOption, archOption,
				compOption, sortColumnOption, includeLibs);
			for (ExecutableRecord exeRec : exeList) {
				Msg.info(this, exeRec.printRaw());
			}
			String summary = exeList.size() + " executables found";
			if (limit > 0 && limit == exeList.size()) {
				summary += " (results limit reached)";
			}
			Msg.info(this, summary);
		}
	}
Display list of all executable records meeting a set of search criteria.
Results are written to the output stream

@param params the command-line params
@throws IOException if there's an error establishing the database connection
@throws LSHException if there's an error issuing the query
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/ingest/BSimLaunchable.java