主管是一个客户机/服务器系统,允许其用户在控制多个进程的类UNIX操作系统。它的灵感来自于以下情况:
- 它往往是不方便需要写“的rc.d”脚本为每一个流程实例。 rc.d的脚本程序初始化/自动启动/管理的一个很大的最小公分母的形式,但它们可以是痛苦的编写和维护。此外,rc.d脚本无法自动重启崩溃的过程中,很多程序不重新启动自己正确的崩溃。 Supervisord开始流程作为其子过程,并且可以被配置为自动地重新启动它们上崩溃。它也可以被自动配置为启动过程在它自己的调用。
- 这往往很难得到准确的向上/向下状态上UNIX进程。 PID文件经常说谎。 Supervisord启动过程作为子,所以它总是知道它的孩子的真正向上/向下的状态,并可以方便地查询该数据。
- 谁需要控制流程状态,用户通常只需要做到这一点。他们不希望或需要全面的shell访问的进程正在运行的机器。 Supervisorctl允许非常有限的访问本机的形式,从根本上让用户看到进程状态和控制supervisord控制的子流程通过发射“停止”,“启动”和“重启”,从一个简单的shell或Web UI命令。
- 用户经常需要在多台计算机控制的过程。监提供一个简单的,安全的,且均匀的机制,用于交互式和自动地控制的机器上的组的过程。
- 工艺它们侦听“低”TCP端口经常需要开始并重新启动以root用户(在UNIX不好的特性)。它通常,它是完美的罚款,让“正常”的人停止或重新启动这样一个过程的情况下,却为他们提供shell访问往往是不切实际的,并为他们提供root访问权或sudo访问往往是不可能的。这也是(正确地)很难向他们解释为什么这个问题的存在。如果supervisord开始为根,所以能够允许“正常”的用户,而无需解释该问题的复杂性,以它们来控制这种过程。
- 过程经常需要启动和停止分组,有时甚至在一个“优先顺序”。它往往很难向人们解释如何做到这一点。监事允许你指定优先级的进程,并允许用户通过像“启动所有”的supervisorctl客户端发出的命令,而“重新启动所有”,这开始他们在预先指定的优先顺序。另外,流程可分为“过程组”和一系列逻辑相关的流程可以停止和开始作为一个unit.otification体系中加入。
什么是新的的本新闻稿中:
- 在程序选项用户的行为发生了变化。在所有以前的版本,如果supervisord未能切换到用户,警告将被发送到标准错误日志,但子进程仍然会催生。这意味着,在配置文件中的错误可能导致子进程被无意中催生了以root身份。现在,supervisord不会产卵子,除非它是能够成功地切换到用户。感谢伊戈尔Partola报告此问题。
- 如果在配置文件中指定的用户没有在系统上存在,supervisord现在将打印错误并拒绝启动。
- 已还原的变化,以在3.0b1的目的是要允许多个进程来登录到相同的文件与旋转日志处理日志记录引入。实施造成supervisord重装期间崩溃和泄漏的文件句柄。此外,由于日志旋转选项上按程序给定的,是不可能的配置可以创建(同一文件冲突的旋转选项)。考虑到这一点,并认为supervisord现已日志的支持,因此决定删除此功能。警告添加到文档两个进程可能无法登录到同一个文件。
- 修正了解析命令=可能导致supervisord崩溃,如果shlex.split()失败,如一个坏引用。补丁斯科特·威尔逊。
- 现在可以通过提供在命令行选项的连接信息使用supervisorctl一台机器上没有supervisord.conf文件。补丁被延Rantil。
- 修正了supervisord如果将系统日志处理程序使用,supervisord收到SIGUSR2崩溃(日志重新申请)。
- 修正了一个XML-RPC漏洞在哪里调用supervisor.getProcessInfo()有一个不好的名字会导致500内部服务器错误,而不是返回BAD_NAME故障。
- 添加一个图标到Web界面。通过补丁卡欧Ariede。
- 修正了一个测试失败是由于夏令时不正确的处理在childutils测试。修补程序通过Ildar Hizbulin。
- 修正了一些pyflakes警告未使用的变量,进口,和死代码。补丁由Philippe Ombredanne。
什么版本的新 3.0 Beta 1的:
- 修正了一个解析的环境=没有验证该键/值对被正确分离。修补程序通过的Martijn Pieters的。
- 修正了HTTP服务器代码发送大响应时可能会造成不必要的延误的错误。补丁菲利普Zeyliger。
- 当supervisord启动以root身份,如果没有提供-c标志,警告正在发出到控制台。理由:supervisord看起来对supervisord.conf文件的当前工作目录;有人可能会诱使root用户进入首发supervisord而cd'ed到有流氓supervisord.conf目录。
- 在警告中加入有关启动supervisord没有-c标志的安全隐患的文档。
- 在添加一个布尔程序选项stopasgroup,默认为false。如果为true,该标志将导致主管发送停止信号的全过程组。这是程序,比如瓶在调试模式下,不传播停止信号,以自己的孩子有用的,使他们成为孤儿。
- 在Python的2.3不再支持。即支持在Python 2.3的最后一个版本是主管3.0a12。
- 删除未使用的" supervisor_rpc"从setup.py入口点。
- 修正了一个错误,在旋转的日志处理程序会导致意想不到的结果,当两个过程分别设置登录到同一个文件。补丁被白衣Morriss。
- 修正了重装,每个重装可能会导致内存泄漏,因为会被追加警告信息的列表,但从来没有被清除在配置文件中的错误。补丁菲利普Zeyliger。
- 在增加了一个新的Syslog日志处理程序。由于丹尼斯Bilenko,内森·史密斯,和Jason R.库姆斯,谁每个促成了补丁。
- 在把所有的更改历史到一个文件中(CHANGES.txt)。
什么版本3.0的Alpha 12是新的:
- 在公布更换破损3.0a11包,其中非-python文件没有包括在包中。
什么是3.0版阿尔法10个新:
- 在固定的Web界面的样式等等页脚行不会重叠一个漫长的过程列表。由于德里克DeVries医师的补丁。
- 在允许的RPC接口插件注册新的事件类型。
- 的FCGI Bug修复插座没有得到清理时,从supervisorctl发出reload命令。此外,默认行为已更改FCGI插座。他们是新的封闭每当一组ofrunning进程数降为零。此前,插座都保持开放,除非一组电平停止指令发出。
- 当HTTP服务器无法反向解析主机名到IP地址更好的错误消息。以前的行为:显示一个套接字错误。当前的行为:吐出一个建议到stdout
- 环境变量,通过环境设置=在 价值
- [supervisord]部分没有任何影响。由于悦鲍德温的补丁。
- 修正错误的地方停止的过程会导致发出停止请求后丢失发生过程输出。见https://github.com/Supervisor/supervisor/issues/11。
- 在感动2.X更改日志条目到HISTORY.txt。
- 在转换CHANGES.txt和的README.txt到适当的ReStructuredText并列入它们在setup.py的LONG_DESCRIPTION。
- 在添加了tox.ini到包(通过TOX在包目录中运行)。测试主管多个Python版本。
要求:
- 在Python中
评论没有发现