![]() |
|
IT и Связь Обсуждение "айтишных" вопросов и средств связи |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 |
Заслуженный Участник
|
![]()
Проблемка тут у меня на AIX, имеется чтот вроде этого:
PHP код:
PHP код:
__________________
Complaining Is Stupid. Either Act or Forget. |
![]() |
![]() |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |
![]() |
#2 | |
Заслуженный Участник
|
![]() Цитата:
заверни команду в [sh] файлец - без переназначний [IO] (!) ... dzher добавил 30.08.2007 в 14:09 бтw, есть ешо [Runtime.exec(String[] аргс)] - т.е. прога с параметрами Последний раз редактировалось dzher, 30.08.2007 в 13:09. Причина: Добавлено сообщение |
|
![]() |
![]() |
Благодарность от: | ixania (30.08.2007) |
![]() |
#3 |
Заслуженный Участник
|
![]()
про .sh файлик я думал, посмотрю что наши всезнайки скажут, покамись пробую решить проблему малой кровью. И все перенамправление там эт для записи в initab, а не для перенаправления mkitab аутпута, даж провбовал в \" \" заворачивать все что дается mkitab.
__________________
Complaining Is Stupid. Either Act or Forget. |
![]() |
![]() |
![]() |
#4 |
Заслуженный Участник
|
![]()
IMHO
If you want to process the stream to either redirect it or pipe it into another program, you must do so programmatically, using the java.io package. Listing 4.7 properly redirects the standard output stream of the jecho process into a file. http://www.javaworld.com/javaworld/j...ps.html?page=4 pasha добавил 30.08.2007 в 14:19 или так - это точно работает: static void System(String command) { String s = null; try { Process p = Runtime.getRuntime().exec(command); BufferedReader stdInput = new BufferedReader(new InputStreamReader( p.getInputStream())); BufferedReader stdError = new BufferedReader(new InputStreamReader( p.getErrorStream())); // read the output from the command while ((s = stdInput.readLine()) != null) { System.out.println(s); перенаправляй здесь } // read any errors from the attempted command while ((s = stdError.readLine()) != null) { System.out.println(s); } } catch (IOException e) { System.err.println(e.getMessage()); } } Последний раз редактировалось pasha, 30.08.2007 в 13:21. Причина: Добавлено сообщение |
![]() |
![]() |
Благодарность от: | ixania (30.08.2007) |
![]() |
#5 | |
Заслуженный Участник
|
![]()
Эт забыл уточнить, приведенный код упрощен, оригинал все это делает, мануалы читать умею, спрашиваю о том чего в мануалах нету
![]() Цитата:
PHP код:
__________________
Complaining Is Stupid. Either Act or Forget. Последний раз редактировалось ixania, 30.08.2007 в 13:58. Причина: Добавлено сообщение |
|
![]() |
![]() |
![]() |
#6 |
Practical UNIX Terrorist
|
![]()
чё-то я не понял, а где тот sh/bash, который будет твои > интерпретировать?
надо так: /bin/sh -c "/bin/echo qwe > /dev/null 2>&1" ну и, конечно, вворачивать коммент непосредственно в эту строчку - отдельное извращение. rojer добавил 30.08.2007 в 18:37 не, ixania, я понял что ты пытаешься сделать. твои извращения с /dev/console проглатывает как раз тот sh, которому ява скармливает аргумент. надо так: String cmd = "/usr/sbin/mkitab 'my_service:2:wait:/etc/rc.my_servcie start > /dev/console 2>&1 # some comments'"; (всё внимание на одинарные кавычки). но есть мнение, что если ты вызываешь mkitab откуда-то из явы, то ты что-то делаешь неправильно. и *определённо* неправильно совать всякую левотню в inittab.
__________________
Even if a billion people believe something it can still be ridiculous. Последний раз редактировалось rojer, 30.08.2007 в 17:37. Причина: Добавлено сообщение |
![]() |
![]() |
Благодарность от: | ixania (31.08.2007) |
![]() |
#8 |
просто
|
![]()
rojer, инсталляторы для всяких продуктов часто как раз на яве и пишут.
__________________
все вопросы по форуму VI направляйте администрации.
|
![]() |
![]() |
![]() |
#9 | |
Заслуженный Участник
|
![]() Цитата:
ixania добавил 31.08.2007 в 10:37 Не думаю, это совсем из другой оперы, я ведь не шел скрипт запускаю ixania добавил 31.08.2007 в 11:39 Блин не пашет с : String cmd = "/usr/sbin/mkitab 'my_service:2:wait:/etc/rc.my_servcie start > /dev/console 2>&1 # some comments'"; Этот дебильный exec всеравно анализирует пробелы, и дробит все на параметры
__________________
Complaining Is Stupid. Either Act or Forget. Последний раз редактировалось ixania, 31.08.2007 в 10:39. Причина: Добавлено сообщение |
|
![]() |
![]() |
![]() |
#10 |
Заслуженный Участник
|
![]()
Гыыы, стыдно признатся, но я почемуто тормозил
![]() PHP код:
PHP код:
PHP код:
вот так вот ![]() ![]()
__________________
Complaining Is Stupid. Either Act or Forget. |
![]() |
![]() |
![]() |
#11 |
Practical UNIX Terrorist
|
![]()
abg> rojer, инсталляторы для всяких продуктов часто как раз на яве и пишут.
такой вещи как "инсталлятор на яве" не должно существовать. продукт должен распространяться в виде пакета. может быть _конфигуратор_ на яве, который пишет конфиг куда-нибудь в /etc, если это системный софт, или в ~/.product, если это что-то юзерское. но трогать систему за всякие чувствительные места, типа inittab, категорически противопоказано. rojer добавил 31.08.2007 в 15:24 ... потому что после инсталлятора что мы будем писать? правильно, апдейтер. и конфигуратор, конечно. и будет как в винде: 100 вариантов инсталляторов и 10000 апдейтеров, у каждого свой. так вот, всё это уже придумано до нас. не надо городить этот огород, надо просто сделать правильные пакеты трёх самых распространённых типов.
__________________
Even if a billion people believe something it can still be ridiculous. Последний раз редактировалось rojer, 31.08.2007 в 14:24. Причина: Добавлено сообщение |
![]() |
![]() |
![]() |
#12 |
Заслуженный Участник
|
![]()
Нее исталятор у нас этого не делает, есть конфигуратор, который в зависимоти от юзерских пожелании и привилегии это делает.
__________________
Complaining Is Stupid. Either Act or Forget. |
![]() |
![]() |
![]() |
#13 |
Practical UNIX Terrorist
|
![]()
напрасно делает всё равно.
иниттаба не существует, забудьте про иниттаб. правильный способ - это добавть свой скриптик в /etc/init.d и включить себя во время загрузки. в редхате это chkconfig, в дебиане что-то другое. да, инит будет вашу софтину рестартовать, если она упадёт, но: либо делайте чтоб софтина не падала, либо, если уж она такая падучая, напишите минимальный шелл-враппер, который будет while true; do /usr/sbin/my_buggy_daemon -f; sleep 10; done (где -f - stay in foreground) и корректный стоп чтобы был, да.
__________________
Even if a billion people believe something it can still be ridiculous. |
![]() |
![]() |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |
![]() |
#14 | |
Заслуженный Участник
|
![]() Цитата:
__________________
Complaining Is Stupid. Either Act or Forget. |
|
![]() |
![]() |
![]() |
#15 |
Practical UNIX Terrorist
|
![]()
> Эт ты про AIX говоришь?
нет, в эти дебри я не лезу. аикс можете трогать за иниттаб сколько угодно ![]()
__________________
Even if a billion people believe something it can still be ridiculous. |
![]() |
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщ. |
Что делать? Хелп!!! | Alex S | IT и Связь | 4 | 17.10.2005 19:13 |
Барабанные тормоза - Хелп ! | Andrew Shahoff | Автотранспорт | 22 | 28.01.2005 10:32 |
.....ХЕЛП..... | Алёнчик! | Общие темы | 5 | 11.07.2004 15:09 |
люди,хелп! | ~Majachok~ | Работа в Ирландии | 62 | 01.06.2004 09:47 |