有人可以告诉我ChannelExec&之间的区别ChannelShell吗?
我有一个.sh脚本,它粘合了许多其他脚本,由Windows应用程序中的jsch ChannelExec调用.
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand("/foo/bar/foobar.sh");
channel.connect();
Run Code Online (Sandbox Code Playgroud)
如果我运行像"nohup /foo/bar/foobar.sh >> /path/to/foo.log&"这样的命令,那么所有长期工作(数据库操作,文件处理等)似乎都会丢失.
检查日志文件,只查找那些回声填充(长期操作之前和之后,计算运行时间等).
我检查了权限,$ PATH,将源/ etc/profile添加到我的.sh但这些都没有.
但是当我正常运行命令(同步运行,在Windows上将所有回显输出打印到我的java客户端)时,所有事情都顺利进行.
这是一个非常具体的问题.希望有经验的人可以帮助我.
预先感谢.
韩