2016-08-17 188 views
-2

显然我最初的问题是模糊或被解释为一个坏问题。Volttron init守护进程

我会再试一次。

有一个名为volttron的文件位于volttron/scripts/admin /内容表明它是/是从一个init开始的一个Volttron守护进程。我注意到它指的是venv之外的路径(/ var/lib/volttron)为什么这个文件在那里?是否有计划修改它?有人修改此文件以实现从init开始?是否有关于这个问题的文件?

对于在计算机系统上提供服务的任何程序,自动初始化都是非常重要的功能。

我已经提供了一段代码。

#! /bin/sh 
### BEGIN INIT INFO 
# Provides:   volttron 
# Required-Start: $remote_fs $syslog 
# Required-Stop:  $remote_fs $syslog 
# Should-Start:  $network $named 
# Should-Start:  $network $named 
# Default-Start:  2 3 4 5 
# Default-Stop:  0 1 6 
# Short-Description: VOLTTRON (TM) Daemon 
# Description:  VOLTTRON (TM) agent execution platform. 
### END INIT INFO 

# Author: Brandon Carpenter <[email protected]> 

# Do NOT "set -e" 

# PATH should only include /usr/* if it runs after the mountnfs.sh script 
PATH=/sbin:/usr/sbin:/bin:/usr/bin 
DESC="VOLTTRON (TM) agent execution platform" 
NAME=volttron 
USER=volttron 
VLHOME=/var/lib/volttron 
DAEMON_ARGS="-v -l $VLHOME/volttron.log" 
PIDFILE=/var/run/$NAME.pid 
SCRIPTNAME=/etc/init.d/$NAME 

# Exit if the package is not installed 
[ -x "$DAEMON" ] || exit 0 

回答

1

这个脚本(scripts/admin/volttron)的设置假设你已经在var/lib中安装了VOLTTRON。要将其用于您的环境,请将VLHOME编辑为安装它的位置。例如:/家庭/ volttronuser /混帐/ volttron

使脚本可执行的:chmod + X脚本/管理/ volttron,然后将其复制到/etc/init.d/中

,使其与自动启动操作系统:

须藤更新的rc.d volttron默认

要手动启动和停止它:

sudo service volttron start 
sudo service volttron stop 

请参阅使用状态:

sudo service volttron status 

如果这将在部署情况下使用,建议您编辑脚本以使用旋转日志配置(或使用http://www.linuxcommand.org/man_pages/logrotate8.html)。在启动VOLTTRON时编辑脚本中的参数以使用-L选项。这将使用rotatelog配置。

DAEMON_ARGS =说 “ - V -L $ VLHOME /例子/ rotatinglog.py”

您还需要编辑的例子/ rotatinglog.py更改日志文件的位置。编辑“文件名”以指向用户有权写入的位置。

'handlers': { 
     'rotating': { 
      'class': 'logging.handlers.TimedRotatingFileHandler', 
      'level': 'DEBUG', 
      'formatter': 'agent', 
      'filename': '/home/myuser/git/volttron/volttron.log', 

注: 脚本的一部分的cgroup支持的资源管理的VOLTTRON插件,不需要没有这种。这就是为什么它在脚本的开始方法中被注释掉了。

+0

似乎按广告宣传谢谢先生。 – Dave