У меня есть скрипт .sh, который склеивает множество других скриптов, вызываемых jsch ChannelExec из приложения Windows.
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, но ни одна из этих работ не работает.
но когда я запускаю команду в обычном режиме (синхронный запуск, вывод всех выводов эха на мой java-клиент на windows), все идет хорошо.
это действительно специфическая проблема.
Надеюсь, что кто-то с опытом может помочь мне.
Спасибо заранее.
Han