我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}
添加回答
举报
0/150
提交
取消