我有一个 .sh 脚本,它粘合了许多其他脚本,由 Windows 应用程序中的 jsch ChannelExec 调用。
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand("/foo/bar/foobar.sh");
channel.connect();
如果我运行“nohup /foo/bar/foobar.sh >> /path/to/foo.log &”之类的命令,所有长期作业(数据库操作、文件处理等)似乎都会丢失。
检查日志文件,只找到那些回显的东西(长期操作之前和之后,计算运行时间等)。
我检查了权限 $PATH,将源 /etc/profile 添加到我的 .sh 中,但这些都不起作用。
但是当我正常运行命令时(同步运行,将所有回显输出打印到 Windows 上的 java 客户端),一切顺利。
这是一个非常具体的问题。希望有经验的人能帮帮我。
预先感谢。
韩