2013-05-28 3 views
0

Привет, ранее я размещал свое приложение на окнах и писал службу, которая проверяет файл RUNNING_PID, если этот процесс не существует, запустите новую оболочку и запустите приложение снова.Распространение/размещение приложения на машине linux

В настоящее время я распространяю приложение, используя скрипт: play clean update dist. Таким образом, это создает мои .jar-файлы и мой стартовый скрипт

Но теперь я пытаюсь настроить систему на linux (ubuntu, но изменится, если будет проще). Я планировал написать сценарий python, чтобы сделать то же самое и сделать это задание cron, чтобы проверить, что он работает каждые 15 минут. Сценарий проверит файл pid, убедитесь, что он запущен, а затем запустите службу. Это работает, но когда я запускаю новый подпроцесс для запуска: ./start &, он распечатывает все выходные данные и ждет завершения процесса.

Есть ли лучший способ создать сервис сторожевого типа для playframework?

Даже когда я пытаюсь запустить ./start & скрипт из оболочки, он не запускает новую фоновую нить.

ответ

1

В случае сбоя RUNNING_PID может оставаться в системе. Лучше смотреть на порт слушателя с sudo netstat -lpn |grep :9000 или изменить последнюю строку запуска скрипта на что-то вроде nohup java $* -cp $classpath play.core.server.NettyServer имя_директории $ 0 > out.txt & и наблюдать за процессом написания в out.txt с lsof | grep "out.txt"

+0

Да, я думаю, что слушатель порта это отличная идея, спасибо. К сожалению, хотя эта проблема все еще не вызывает конца скрипта. Я хочу начать процесс, который не блокирует оригинальный скрипт python. Но при запуске команды NettyServer он блокирует скрипт python. Если вы наберете следующее: nohup java $ * -cp $ classpath play.core.server.NettyServer dirname $ 0> out.txt & в сценарии bash он блокирует текущий экран терминала. Как мне обойти это? – user1434177

+0

Я думаю, лучше обратиться к документам, связанным с Python, о том, как начать новый поток. Например. http://softwareramblings.com/2008/06/running-functions-as-threads-in-python.html –

Смежные вопросы