【发布时间】:2010-09-24 09:00:19
【问题描述】:
我有一个使用“catalina.sh start”启动 tomcat 的 shell 脚本。该脚本运行良好,并且即使我退出 ssh 会话,它也会启动 tomcat。
我正在尝试从 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 没有成功。知道为什么会这样吗?
更新:该脚本还执行了一些与启动 tomcat 无关的 sudo 操作,因此它需要 tty。用户在sudoers中设置,不需要密码,所以不需要提示。
【问题讨论】: