java - 如何使用java和JSch停止linux上的tomcat服务器?

标签 java linux jsch

我有一个自动化要求,我需要停止位于 Linux 的 tomcat 服务器。我该怎么做?我正在使用 JSch 尝试多个代码片段,但这些代码片段没有按预期工作。有人可以帮我吗?

这是我的示例代码 -

java.util.Properties config = new java.util.Properties();
        config.put("StrictHostKeyChecking", "no");
        JSch jsch = new JSch();
        session = jsch.getSession(user, host, port);
        session.setPassword(password);
        session.setConfig(config);
        session.connect();
        System.out.println("CONNECTED!");

        String process = serverGetprocess();
        LOG.info("ACTAUL SERVER PROCESS "+process);
        commandStopServer = "kill -9" + process;
        LOG.info(commandStopServer);
        Channel channel = session.openChannel("exec");


        ((ChannelExec) channel).setCommand(commandStopServer);
        channel.setInputStream(null);
        channel.setOutputStream(System.out, true);
        ((ChannelExec) channel).setErrStream(System.err);
        InputStream in = channel.getInputStream();
        channel.connect();
        Thread.sleep(1000);
        byte[] tmp = new byte[1024];
        while (true) {
            while (in.available() > 0) {
                int i = in.read(tmp, 0, 1024);
                if (i < 0)
                    break;
                System.out.print(new String(tmp, 0, i));
            }
            if (channel.isClosed()) {
                System.out.println("exit-status: " + channel.getExitStatus());
                break;
            }
            try {
                Thread.sleep(1000);
            } catch (Exception ee) {
                LOG.info("Inside catch of channel closing!");
            }
        }
        channel.disconnect();
        return true;

最佳答案

这里是放置在设置命令“pkill -9 -f tomcat”中的代码,即;

((ChannelExec) channel).setCommand("pkill -9 -f tomcat");

关于java - 如何使用java和JSch停止linux上的tomcat服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51356446/

相关文章:

java - hadoop 关于如何处理日志的建议

java - 高负载下 Java Beanshell 解释器中的锁争用

Java:在编译时使用注释生成自定义 Java 代码

linux - Composer在您的平台中检测到问题: Your Composer dependencies require a PHP version ">= 7.3.0"

java - 两个线程在远程服务器上同时运行

java - 带 String/Varchar 参数的 Spring JDBC 模板查询

c++ - 我怎样才能在任何随机时间退出选择的系统调用?

mysql - 可以将 MySQL 32 位数据库导入/复制到 64 位 MySQL 吗?

java - 如何使用带有 SFTP 协议(protocol)的 JSch 检查读取权限?

java - 在我的 Java SFTP 类中,为什么会收到此 java.net.ConnectException?