代码之家  ›  专栏  ›  技术社区  ›  seinecle

从sshj启动时,控制台中的命令不运行

  •  0
  • seinecle  · 技术社区  · 6 年前

    jar 从控制台,它运行良好:

    nohup /usr/bin/java -jar payara-micro-5.183.jar myapp.war > log.out 2>&1 & echo $!
    

    当我在远程计算机上用 sshj ,它返回一个pid,但在控制台中看不到进程,实际上进程没有运行。在这两种情况下,我都使用同一个用户通过ssh(公钥)登录。

    sshj公司 :

    try (Session session = sshClient.startSession()) {
        final Command cmd = session.exec("nohup /usr/bin/java -jar payara-micro-5.183.jar myapp.war > log.out 2>&1 & echo $!");
        String response = (IOUtils.readFully(cmd.getInputStream()).toString());
        // response shows a pid number
        cmd.join(2, TimeUnit.SECONDS);
        System.out.println("\n** exit status: " + cmd.getExitStatus());
        //exit status is 0
    } 
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   seinecle    6 年前

    • 根据之前的命令,我 cd 到jar所在的目录。

    • 但是这个 cp 但这并不意味着 对运行之后的命令中使用的文件使用完整路径

    推荐文章