为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

宝慕林4294392 2021-10-28 14:02:42
我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 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

解决方案:

  • 使用之前的命令,我必须cd找到 jar 所在的目录。

  • 但这cp并不能消除在之后运行的命令中使用的文件的完整路径的需要


查看完整回答
反对 回复 2021-10-28
  • 1 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信