显然我最初的问题是模糊或被解释为一个坏问题。
我会再试一次。
有一个名为volttron的文件位于volttron / scripts / admin /,内容表明它是/是Volttron守护进程从init启动的。我注意到它引用了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 <brandon.carpenter@pnnl.gov>
# 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
答案 0 :(得分:1)
假设您已在var / lib中安装了VOLTTRON,则设置了此脚本(scripts / admin / volttron)。要将其用于您的环境,请将VLHOME编辑到您安装它的位置。例如:/ home / volttronuser / git / volttron
使脚本可执行:chmod + x scripts / admin / volttron,然后将其复制到/etc/init.d /
使用OS自动启动:
sudo update-rc.d volttron defaults
手动启动和停止:
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 =&#34; -v -L $ VLHOME / examples / rotatinglog.py&#34;
您还需要编辑examples / rotatinglog.py来更改日志文件的位置。编辑&#34;文件名&#34;指向您的用户有权写入的位置。
'handlers': {
'rotating': {
'class': 'logging.handlers.TimedRotatingFileHandler',
'level': 'DEBUG',
'formatter': 'agent',
'filename': '/home/myuser/git/volttron/volttron.log',
注意: 脚本的cgroups部分支持用于资源管理的VOLTTRON插件,没有它就不需要。这就是它在脚本的start方法中注释掉的原因。