Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск bash из java / 11 сообщений из 11, страница 1 из 1
25.11.2014, 06:54
    #38815711
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
пытаюсь запустить скрипт
Код: java
1.
2.
   Runtime runtime = Runtime.getRuntime();
                                runtime.exec("bash -c /var/www/Sertificates/cert.sh 122");


запускаю скрипт с параметром 122 что по идее должно работать, путь указываю полностью в каталоге
но почему он не работает
...
Рейтинг: 0 / 0
25.11.2014, 07:03
    #38815714
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
Елдоспытаюсь запустить скрипт
Код: java
1.
2.
   Runtime runtime = Runtime.getRuntime();
                                runtime.exec("bash -c /var/www/Sertificates/cert.sh 122");


запускаю скрипт с параметром 122 что по идее должно работать, путь указываю полностью в каталоге
но почему он не работает
пропустил
Код: java
1.
2.
   Runtime runtime = Runtime.getRuntime();
                                runtime.exec("bash -c sh /var/www/Sertificates/cert.sh 122");
...
Рейтинг: 0 / 0
25.11.2014, 07:49
    #38815726
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
Елдос,

16789360
...
Рейтинг: 0 / 0
25.11.2014, 08:52
    #38815747
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
UsmanЕлдос,

16789360
Спасибо но не помогло.
может он только для Windows

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
                                ProcessBuilder bash = new ProcessBuilder("bash", "-c", "bash -c sh /var/www/epayn.kkb.kz/Sertificates/ce.sh");
                                bash.redirectErrorStream();
                                Process p  = bash.start();
                                p.waitFor();
                                BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
                                while(br.ready()){
                                    System.out.println(br.readLine());
                                }
                                br.close();


написал это код, зависает и без ответа остается долгое время
...
Рейтинг: 0 / 0
25.11.2014, 08:56
    #38815752
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
...
Рейтинг: 0 / 0
25.11.2014, 08:59
    #38815757
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
Елдос,

Потому что out и err потоки процесса надо вычитывать. Для Java 8 методы простые. Для остальных - посложнее.
http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html
...
Рейтинг: 0 / 0
25.11.2014, 08:59
    #38815759
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
Blazkowicz,

А, не. Гоню. В Java 7 уже есть.
https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html
...
Рейтинг: 0 / 0
25.11.2014, 09:07
    #38815766
0FD
0FD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
Елдос,

не много запускаете шелов bash bash sh?
...
Рейтинг: 0 / 0
25.11.2014, 12:19
    #38815934
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
0FDЕлдос,

не много запускаете шелов bash bash sh?
запускаю каждую строку отдельно,
Код: java
1.
2.
3.
4.
5.
                               bash = new ProcessBuilder("/bin/bash", "-c", "openssl pkcs12 -in /var/www/epayn.kkb.kz/Sertificates/cert.p12 >/var/www//Sertificates/cert.dmp -passin pass:1q2w3e4r -passout pass:1q2w3e4r");
                                bash.start();
                                Thread.sleep(15);
                                bash = new ProcessBuilder("/bin/bash", "-c", "mv /var/www/Sertificates/cert.p12 /var/www/epayn.kkb.kz/Sertificates/cert.pfx");
                                bash.start();


приходится указывать пути полные и еще они выполняются все подряд будто, не ждут друг друга,
как я могу сделать чтобы они ждали пока выполнится предыдущая команда.
...
Рейтинг: 0 / 0
25.11.2014, 12:20
    #38815937
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
Елдос,

Код: java
1.
2.
Process p = builder.start();
p.waitFor();
...
Рейтинг: 0 / 0
25.11.2014, 14:19
    #38816124
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск bash из java
BlazkowiczЕлдос,

Код: java
1.
2.
Process p = builder.start();
p.waitFor();


Всем большое спасибо, работает
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Запуск bash из java / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]