![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| DOKA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
Добрый день!
Столкнулся с непонятной проблемой. print system("ls") - работает print system("ls -la") - работает print system("java") - работает print system("java -v") - не работает - ошибка 256 print system("java -jar /var/www/reg/myJar.jar") - не работает - ошибка 512 А мне как раз нужны именно последняя команда. По сути необходимо запустить jar (с некоторыми параметрами) лежащий в той же дире, что и скрипт и выдать в виде странички. Что за ошибки 256 и 512 perldoc -f system умалчивает :( Может у кого-нибудь есть идеи? |
|||
|
||||
| dimes |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
||||
|
||||
| DOKA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
1) Что за perror? Perldoc молчит, в шелле такой команды тоже нету... 2) Да, естественно, в шелле всё вышенаписаное выполняется отлично. |
|||
|
||||
| Nab |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
попробуйте так:
хотя если нужен результат то возможно так лучше будет
-------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||
|
|||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
java в $PATH ?
|
|||
|
||||
| DOKA |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
Обы варианта не работают. :( Добавлено @ 23:38
Да.
К тому же просто system('java') отрабатывает. Это сообщение отредактировал(а) DOKA - 14.8.2007, 23:38 |
||||||||||
|
|||||||||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
ой, этож под линуксом я подозреваю, тогда может вот так
print system('java', '-jar', '/var/www/reg/myJar.jar'); -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| Rigel |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.7.2007 Где: Москва Репутация: нет Всего: нет |
Обы варианта не работают. :( [/QUOTE] Конечно не работают. $respp = `java -jar /var/www/reg/myJar.jar`; Это должно работать. У меня, во всяком случае, с параметрами так работет. И не надейтесь на пути по-умолчанию, вызывайте все с полным путем. --------------------
С уважением. Rigel. http://www.smoliy.ru |
||||
|
|||||
| amg |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Rigel, даже любопытно стало, как
|
||||
|
|||||
| dimes |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
если `` вернет массив то различия будут
Добавлено через 6 минут и 35 секунд вот только на работоспособность это никак не влияет DOKA, если вариант Nab не сработает, можно приступать к пляскам с бубном. Впрочем можно по пребывать поиграться с путями (надеюсь ты скрипт в шеле дергаешь?) Я не знаю как работает команда "java -jar /var/www/reg/myJar.jar" нужно ли там общаться в процессе установки? |
|||
|
||||
| Rigel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.7.2007 Где: Москва Репутация: нет Всего: нет |
Абсолютные пути пропишите --------------------
С уважением. Rigel. http://www.smoliy.ru |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
dimes, я же специально оговорился: если не трогать $\ и т.п. (еще $, может влиять на результат). С этой оговоркой не представляю себе, какие могли бы быть различия. По теме. Непонятно, почему так происходит. Я с подобным ни разу не сталкивался. Вызов с консоли и через system с несколькими аргументами всегда отрабатывали идентично. Что возвращает system? Rigel, правильно советует, лучше прописать на всякий случай абсолютный путь, причем на сам исполняемый файл (возможно, /usr/bin/java - это симлинк, на /usr/lib/java/bin/java например). И лучше пользоваться вызовом system с несколькими аргументами, как Nab советовал: тогда шелл не будет участвовать в вызове команды и всяких косяков меньше. |
|||
|
||||
| dimes |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
||||
|
||||
| DOKA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
Пробовал указывать реальный путь к java - /usr/lib/jvm/java-1.5.0-sun... - ошибка 512
Пробовал делать my $out = system $cmd; print $out; - ошибка 512 Пробовал передавать в system массив - ошибка 512 :( В принципе проблему частично решил модифицировав .jar в .war (сервлет) и запустив его под Apache Tomcat, но странно почему perl не может нормально вызывать jar'. |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 4 Всего: 8 |
Ему до расширения и самого файла дела нету. И до командной строки тоже ему дела нету.
Ты думаешь, что perl парсит команду в кавычках и потом её сам выполняет. Тогда вместе с Perl ещё и java и ls должны поставляться. И вообще отдельная PerlOS и железо. |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |