Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с запуском процесса из-под JAR-файла в Exceed
|
|||
|---|---|---|---|
|
#18+
Есть программа CallTEMP.jar на Java, которая вызывает другую программу beg_matr в ОС Unix. beg_matr работает в диалоговом текстовом режиме. При этом программа CallTEMP создана на моём рабочем компьютере под ОС Windwows 7 в среде разработки JBuilder 2007 (в этой же среде разработки и был создан JAR-файл CallTEMP.jar). А программа beg_matr находится на другом компьютере (Unix-сервере), куда я перебросил мой JAR-файл по протоколу FTP. CallTEMP вызывает программу beg_matr, программа beg_matr создаёт текстовой файл ACCOI, после отработки процесса beg_matr управление опять передаётся программе CallTEMP, которая обрабатывает файл ACCOI. Вот мой код на Java в файле CallTEMP: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. На моём рабочем компьютере происходит обращение к этому Unix-серверу через эмулятор Exceed 2008 (13-ая версия Exceed). В Exceed я запускаю файл run.bat, который запускает файл CallTEMP.jar. При этом появляется сначала пустое окно, затем через несколько секунд появляется окно программы CallTEMP. Когда по нажатию кнопки на окне моей прогарммы должен быть вызов процесса beg_matr, то этого процесса не происходит, а происходит переход на дальнейшие действия программы CallTEMP. В результатае чего на экран выводится не сообщение об ошибке "Ошибка вызова программы beg_matr. <...>" (где <...>--собственно описание этой ошибки), а сообщение об ошибке авторjava.io.FileNotFoundException: ACCOI (No such file or directory (errno:2)) То есть моя программа CallTEMP не производит вызова программы beg_matr, а сразу обращается к файлу ACCOI, который должен бы быть создан программой beg_matr. А после завершения работы CallTEMP (нажатия на панели окне этой программы кнопки завершения или же через пункт меню в левом верхнем углу) на экране продолжает оставаться первоначальное пустое окно, которое появилось прежде окна моей программы. Это пустое окно я закрываю через меню в его левом верхнем углу. Как мне сделать так, чтобы программа CallTEMP запускала у меня на Unix-сервере программу beg_matr, когда я работаю с этим Unix-сервером через программу Exceed? Текст файла run.bat: авторcd /home/KOL/ryk/CallTEMP java -jar CallTEMP.jar (Программа beg_matr вызывается на Unix-сервере, если её запускать самостоятельно, а не из моей программы CallTEMP). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2012, 14:43 |
|
||
|
Проблема с запуском процесса из-под JAR-файла в Exceed
|
|||
|---|---|---|---|
|
#18+
Походу beg_matr запускается на соседнем процессоре (ядре), отрабатывает дольше чем 500 мс, но оригинальная программа не ждёт завершения и сразу пытается читать результат её работы. На windows либо 1 процессор, либо она просто быстро пускает жабу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2012, 16:37 |
|
||
|
Проблема с запуском процесса из-под JAR-файла в Exceed
|
|||
|---|---|---|---|
|
#18+
Я написал следующий код: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. В результате чего моя программа CallTEMP всё равно зависает. В чём причина этого? Может быть, что-то надо исправить в моём коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2012, 09:20 |
|
||
|
Проблема с запуском процесса из-под JAR-файла в Exceed
|
|||
|---|---|---|---|
|
#18+
Я также попробывал по-другому: в моей Java-программе CallTEMP на том месте, где должна вызываться программа beg_matr, я поставил выход из программы Код: java 1. . При этом я поставил у jFrame (главного окна программы CallTEMP) свойство DISPOSE_ON_CLOSE . (Весь оставшийся код после этого я закомментировал). Я изменил файл запуска run.bat : Код: java 1. 2. 3. 4. В результате чего у меня отрабатывает моя программа CallTEMP, она закрывается (завершает свою работу), но после этого вызова программы beg_matr не происходит. На всякий случай для проверки я поменял в файле run.bat вызовы прогармм CallTEMP.jar и beg_matr местами: авторcd /home/KOL/ryk/CallTEMP beg_matr java -jar CallTEMP.jar и получилось, что beg_matr ормально запускается, отрабатывает свои действия, завершает свою работу, а после этого запускается CallTEMP.jar . Но почему же тогда не вызывается программа beg_matr при прямом порядке действий--когда сначала должна отработать CallTEMP.jar, а потом beg_matr? Может быть, этот как-то связано с JVM на этом Unix-сервере? Может быть, следует в файле run.bat после команды авторjava -jar CallTEMP.jar ввести какую-то системную команду Unix или команду java с определённой опцией, а после этого ввести авторbeg_matr ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2012, 11:48 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=25&tid=1483601]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 199ms |

| 0 / 0 |
