Как запустить Fuseki при запуске ОС?

Существует ли простой способ запуска Fuseki при запуске ОС, более или менее похожий на то, что мы можем запустить экземпляр Tomcat или ElasticSearch из /etc/init.d/tomcat7 start или /etc/init.d/elasticsearch start?

Насколько я видел, у Фусеки, похоже, нет метода статуса, а также, похоже, нет ничего похожего на этот трюк /etc/init.d/.

1 ответ

Решение

На самом деле, Fuseki поставляется со сценарием, который делает именно то, что вы просите. Я думаю, это просто вопрос помещения скрипта fuseki в каталог init.d. Сценарий fuseki, входящий в дистрибутив, принимает аргумент {start | stop | restart | status}. Вот как это выглядит при использовании из командной строки:

$ ./fuseki
Usage: fuseki {start|stop|restart|status}
$ ./fuseki status
Fuseki is not running
$ ./fuseki start
Starting Fuseki: Redirecting Fuseki stderr/stdout to .../jena-fuseki-1.1.2-SNAPSHOT/log/stderrout.log
STARTED Fuseki Mon Oct 27 10:02:59 EDT 2014
PID=3752
$ ./fuseki status
Fuseki is running with pid: 3752
$ ./fuseki restart
Stopping Fuseki: OK
Starting Fuseki: Redirecting Fuseki stderr/stdout to .../jena-fuseki-1.1.2-SNAPSHOT/log/stderrout.log
STARTED Fuseki Mon Oct 27 10:03:09 EDT 2014
PID=3813
$ ./fuseki status
Fuseki is running with pid: 3813
$ ./fuseki stop
Stopping Fuseki: OK
$ ./fuseki status
Fuseki is not running

Это на самом деле разработано для этой цели; смотря на источник мы видим:

# Startup script for Fuseki under *nix systems (works with cygwin too)
#
# Configuration
# -------------
# Default values are loaded from /etc/default/fuseki, if it exists.

# FUSEKI_HOME
#   Where Fuseki is installed.  If not set, the script will try
#   to guess it based on the script invokation path.
#
# FUSEKI_RUN
#   Where the fuseki.pid file should be stored.  It defaults
#   first available of /var/run, /usr/var/run, and /tmp if not set.
#
# FUSEKI_PID
#   The FUSEKI PID file, defaults to $FUSEKI_RUN/fuseki.pid
#
# FUSEKI_ARGS
#   The arguments to pass to the Fuseki server on the command line. Defaults to:
#    --update --loc=$FUSKEI_DATA_DIR /ds    # if FUSEKI_CONF is not set
#    --config=$FUSEKI_CONF                  # if FUSEKI_CONF is set
#
# FUSEKI_CONF
#   The Fuseki configuration file, usually in RDF Turtle notation.
#
# FUSEKI_USER
#   If set, the server will be run as this user
#
# FUSEKI_DATA_DIR
#   The location of the data directory Fuseki will use (i.e. the value of --loc).
#   Defaults to $FUSEKI_HOME/DB
#
# FUSEKI_LOGS
#   Directory where logs will be generated. Defaults to $FUSEKI_HOME/log
#
# FUSEKI_LOGS_STDERROUT
#   Log file with stderr and stdout log output from Fuseki. Defaults to
#   $FUSEKI_LOGS/stderrout.log
Другие вопросы по тегам