У меня есть сценарий оболочки, который запускает tomcat с использованием 'catalina.sh start'. Этот скрипт работает нормально и запускает tomcat, который остается включенным даже после выхода из сеанса SSH.
Я пытаюсь вызвать этот скрипт из Jsch
shell = new JSch();
session = shell.getSession(user, host, SSH_DEFAULT_PORT);
session.setConfig(config);
session.setPassword(password);
session.connect();
commandChannel = (ChannelExec) session.openChannel("exec");
commandChannel.setCommand(command);
commandChannel.setPty(true);
commandChannel.connect();
Это вызывает мой сценарий, и tomcat запускается, но как только процесс завершается, tomcat получает сигнал выключения, и он выключается. Я пытался использовать setDaemonThread без успеха. Есть идеи, почему это происходит?
ОБНОВЛЕНИЕ: Сценарий также выполняет несколько операций sudo, не связанных с запуском tomcat, поэтому ему нужен tty. Пользователь настроен в sudoers так, чтобы не запрашивать пароль, поэтому подсказка не требуется.