public void run(String[] params) throws Exception {
		try {
			clearParams();

			String command = readCommandLine(params);

			initializeApplication();

			switch (command) {
				case COMMAND_START:
					startCommand();
					break;
				case COMMAND_STOP:
					stopCommand();
					break;
				case COMMAND_STATUS:
					statusCommand();
					break;
				case COMMAND_ADDUSER:
					addUserCommand();
					break;
				case COMMAND_DROPUSER:
					dropUserCommand();
					break;
				case COMMAND_CHANGEAUTH:
					changeAuthCommand();
					break;
				case COMMAND_RESET_PASSWORD:
					passwordCommand();
					break;
				case COMMAND_CHANGE_PRIVILEGE:
					changePrivilegeCommand();
					break;
				default:
					throw new IllegalArgumentException("Unknown command: " + command);
			}
		}
		finally {
			try {
				cleanupPasswordData();
			}
			catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
Runs the command specified by the given set of params.

@param params the parameters specifying the command
@throws IllegalArgumentException if invalid params have been specified
@throws Exception if there's an error during the operation
@throws CancelledException if processing is cancelled
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/BSimControlLaunchable.java