| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Запуск .sh скрипта из Java и вывод этого скрипта |
| Автор: MakTpaxep 2.4.2013, 19:38 |
| Делаю лабу в линуксе. У меня есть .sh скрипт, который пишет hello, каждую секунду. Я запускаю этот скрипт через process builder: procBuilder = new ProcessBuilder("sh","/home/will/javaprj/script.sh"); process = procBuilder.start(); В консоль всё-равно ничего не выводится, пробовал всякие OutputRedirect делать, попробовал несколько вариантов из гугла, но безрезультатно. По умолчанию будет этот скрипт что-то выводить в терминал, где я родительский java процесс запускаю? Есть подозрение, что скрипт не запустился. Как проверить что скрипт запущен? |
| Автор: jk1 3.4.2013, 10:27 | ||||||
нет. Для этого надо явным образом сделать
тогда дочерний процесс унаследует все стандартные потоки родителя.
Если сделать inherit, то в терминале java-процесса будет весь вывод скрипта, по нему можно делать диагностику проблемы. Если без inherit, то нужно почитать process.getOutputStream(), там собственно и будет весь вывод скрипта. Причем если этот поток не читать, то выполнение скрипта может быть заблокировано когда объем вывода скрипта превысит размер буфера потока. |
| Автор: LSD 3.4.2013, 12:45 |
Надо же, не прошло и 3-х версий |
| Автор: MakTpaxep 3.4.2013, 17:22 | ||
Круто, спасибо! Лабу сдал) |