Страница 1 из 1

Java-приложение в фоне

Добавлено: 2009-03-23 17:55:06
Plushevij
Привет всем. Уселся за написание, так как не нашел ни одного завернутого в розовую ленточку решения по сабжу

Вводная - провайдер отключил интернет, или как у нас есть только один провайдер на здание, который мякго говоря (#**%#*#3%&$&#!
Решение - мобильная связь. Бла-бла-бла, FreeBSD 7.1, SQUID, сервер обновлений нода централизованный, все обновления отключены и качаются дома и тп. Но... все равно трафф идет, да и мобилка старая Motorolla L2 USB, достойную скорость не дает, сидим на МТС. Когда все надоело, решил поставить компрессор трафа а-ля Globax или SlonAx. Но беда в том, что они платные. На глаза попался кпк, в котором 1.5 года живет toonel.jar и есть не просит (http://ru.toonel.net/). Не фонтан, но нам пойдет.
1. Ставим яву. 1-е грабли, нужно качнуть от 30 до 60 с оф. сайтов и там же кликнуть :"": AGREE на лицензии. Вот что-то сложилось так, что качнул diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2 на их оф.сайте, из портов встал четко. 2. Выбираем на оф. сайте тунеля утилиту. 2-е грабли, так как нет X-ов на тачке, ява ругается на отсутсвие графики. Рыл долго, муторно, нарыл в самом конце страницы загрузки консольную утилиту. http://www.toonel.net/pjava/005030/toonel.jar
3.

Код: Выделить всё

java -jar toonel.jar
запускает софтину. Но... она не уходит в фон. То есть тупо висят три-четыре строчки типа поднято на таком-то адресе, работает, ляляля... Идем на форум. http://forum.lissyara.su/viewtopic.php? ... va#p149501. Спасибо ответившим! ! !
3.1/2 Путем вдумчивого гугления находим альтернативный путь - утилиту daemon, которая уводит процесс в фон.
  • $ daemon
    usage: daemon [-cf] [-p pidfile] [-u user] command arguments ...
в итоге стартовый скрипт выглядит так:

Код: Выделить всё

#!/bin/sh -
killall java
sleep 2
daemon -u root /usr/local/bin/java -jar /usr/scripts/toonel.jar >> /var/log/toon.log
завтра накропаю чтобы из rc.conf запускался наподобие toon_enable="YES"

Re: Java-приложение в фоне

Добавлено: 2009-03-23 18:13:04
iZEN
На самом деле toonel делает видимость сжатия (типа оценки сжатия трафика), но не сжимает. Я сам на это попал.

Re: Java-приложение в фоне

Добавлено: 2009-03-24 5:13:23
Plushevij
Странно. По крайней мере трафф ускорился.

Re: Java-приложение в фоне

Добавлено: 2009-03-24 5:29:12
paradox
кому интересно могу соурсы выложить после декомпиляции
обычный ssl/rsa/blowfish или чего то еще + zlib/deflate/или чет еще
в соурсах все видно

так что сжатие есть
но токо контента
того что уже сжатое оно не ускорит
просто быстрее будут отдаваться текстовые вайлы типа страниц или еще чего...

Re: Java-приложение в фоне

Добавлено: 2009-03-24 5:34:10
Plushevij
На кпк сжимает 30-40% траффа, правда по его же отчетам.

Re: Java-приложение в фоне

Добавлено: 2009-03-24 7:32:40
Гость
Скрипт запуска:
gate# cat /etc/rc.d/toon

Код: Выделить всё

#!/bin/sh
#
# Created By .::Disel::.
# Tuning By Be$$oMe
#

# PROVIDE: toon
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service^
#
#toon_enable="YES"
#

. /etc/rc.subr

name="toon"
rcvar=`set_rcvar`
command="daemon -u root /usr/local/bin/java -jar /usr/scripts/toonel.jar >> /var/log/toon.log"
pidfile="/var/run/toon.pid"
start_cmd="toon_start"
stop_cmd="toon_stop"
status_cmd="toon_status"
command_args="&"
: ${toon_enable="NO"}

toon_start()
{
    ${command}
    echo "Service ${name} started"
}

toon_stop()
{
    if [ -e $pidfile ]; then
        pid=$(cat $pidfile)
        kill $pid
        rm -f $pidfile
        echo "Service ${name} stopped"
    else
        killall java
        echo "Service ${name} not started"
    fi
}

toon_status()
{
    if [ -e $pidfile ]; then
        pid=$(cat $pidfile)
        if [ $pid > 0 ]; then
            echo "Service ${name} stopped"
        fi
    else
        echo "Service ${name} not started"
    fi
}

load_rc_config $name
run_rc_command "$1"
и в rc.conf

Код: Выделить всё

toon_enable = "YES"

Re: Java-приложение в фоне

Добавлено: 2009-06-27 6:27:20
Гость
Plushevij писал(а): 2. Выбираем на оф. сайте тунеля утилиту. 2-е грабли, так как нет X-ов на тачке, ява ругается на отсутсвие графики. Рыл долго, муторно, нарыл в самом конце страницы загрузки консольную утилиту. http://www.toonel.net/pjava/005030/toonel.jar
3.

Код: Выделить всё

java -jar toonel.jar
запускает софтину. Но... она не уходит в фон. То есть тупо висят три-четыре строчки типа поднято на таком-то адресе, работает, ляляля... Идем на форум. http://forum.lissyara.su/viewtopic.php? ... va#p149501. Спасибо ответившим! ! !
3.1/2 Путем вдумчивого гугления находим альтернативный путь - утилиту daemon, которая уводит процесс в фон.
как все сложно-то ...
1. запустить без гуя - http://ru.toonel.net/viewtopic.php?t=15
2. запустить процесс в фоне в линуксе - просто добавь &
итого получаем

Код: Выделить всё

java -jar toonel.jar -t &