code: public static void main(String[] args) throws Exception {
  		// startup checks and logging
  		EnvironmentInformation.logEnvironmentInfo(LOG, "TaskManager", args);
  		SignalHandler.register(LOG);
  		JvmShutdownSafeguard.installAsShutdownHook(LOG);
  
  		long maxOpenFileHandles = EnvironmentInformation.getOpenFileHandlesLimit();
  
  		if (maxOpenFileHandles != -1L) {
  			LOG.info("Maximum number of open file descriptors is {}.", maxOpenFileHandles);
  		} else {
  			LOG.info("Cannot determine the maximum number of open file descriptors");
  		}
  
  		final Configuration configuration = loadConfiguration(args);
  
  		//TODO provide plugin path.
  		FileSystem.initialize(configuration, PluginUtils.createPluginManagerFromRootFolder(Optional.empty()));
  
  		SecurityUtils.install(new SecurityConfiguration(configuration));
  
  		try {
  			SecurityUtils.getInstalledContext().runSecured(new Callable<Void>() {
  				@Override
  				public Void call() throws Exception {
  					runTaskManager(configuration, ResourceID.generate());
  					return null;
  				}
  			});
  		} catch (Throwable t) {
  			final Throwable strippedThrowable = ExceptionUtils.stripException(t, UndeclaredThrowableException.class);
  			LOG.error("TaskManager initialization failed.", strippedThrowable);
  			System.exit(STARTUP_FAILURE_RETURN_CODE);
  		}
  	}
docs: --------------------------------------------------------------------------------------------