GoGPT Best VPN GoSearch

favicon do OnWorks

supervisord - Online na nuvem

Execute supervisord no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando supervisord que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


supervisord - supervisord Documentação

Supervisor é um sistema cliente / servidor que permite aos seus usuários monitorar e controlar um número
de processos em sistemas operacionais semelhantes ao UNIX.

Ele compartilha alguns dos mesmos objetivos de programas como launchd, daemontools e runit. diferente
alguns desses programas, não se destina a ser executado como um substituto para o init como "id de processo
1 ". Em vez disso, deve ser usado para controlar processos relacionados a um projeto ou
cliente e deve ser iniciado como qualquer outro programa no momento da inicialização.

DOCUMENTAÇÃO


Supervisor
A parte do supervisor do servidor é nomeada Supervisor. É responsável por iniciar criança
programas em sua própria invocação, respondendo a comandos de clientes, reinicialização travada ou
saiu de subprocessos, registrando seu subprocesso stdout e stderr saída, e gerando e
tratamento de "eventos" correspondentes a pontos em vidas úteis de subprocesso.

O processo do servidor usa um arquivo de configuração. Normalmente está localizado em
/etc/supervisord.conf. Este arquivo de configuração é um arquivo de configuração do estilo "Windows-INI". Isto
é importante manter este arquivo seguro por meio de permissões adequadas do sistema de arquivos porque ele pode
contêm nomes de usuário e senhas não criptografados.

Corrida Supervisor
Esta seção faz referência a um BINDIR ao explicar como executar o Supervisor e
supervisorctl comandos. Este é o diretório "bindir" que sua instalação Python possui
foi configurado com. Por exemplo, para uma instalação do Python instalado via
. / Configure --prefix = / usr / local / py; faço; fazer instalar, BINDIR seria / usr / local / py / bin.
Os intérpretes Python em diferentes plataformas usam um diferente BINDIR. Veja a saída de
setup.py instalar se você não consegue descobrir onde está o seu.

Adicionando a Programa
Antes Supervisor fará qualquer coisa útil para você, você precisará adicionar pelo menos um
programa seção para sua configuração. o programa seção irá definir um programa que é
executado e gerenciado quando você invoca o Supervisor comando. Para adicionar um programa, você precisa
edite o supervisord.conf arquivo.

Um dos programas mais simples de executar é o UNIX gato programa. UMA programa seção
isso vai correr gato quando o Supervisor o processo de inicialização é mostrado abaixo.

[programa: foo]
comando =/ bin / cat

Esta estrofe pode ser cortada e colada no supervisord.conf Arquivo. Este é o mais simples
configuração possível do programa, porque ele apenas nomeia um comando. Configuração do programa
as seções têm muitas outras opções de configuração que não são mostradas aqui. Ver
programx_section para obter mais informações.

Corrida Supervisor
Para iniciar Supervisor, corre $ BINDIR / supervisord. O processo resultante irá daemonizar
se desconectar do terminal. Ele mantém um registro de operações em $ CWD / supervisor.log by
padrão.

Você pode começar o Supervisor executável em primeiro plano, passando o -n bandeira em seu
linha de comando. Isso é útil para depurar problemas de inicialização.

AVISO:
Quando Supervisor iniciar, ele irá procurar por seu arquivo de configuração no padrão
locais incluam da atual trabalhar anuário. Se você está preocupado com a segurança, você
provavelmente desejará especificar um argumento "-c" após o Supervisor comando especificando
um caminho absoluto para um arquivo de configuração para garantir que ninguém o engane para
supervisor em execução de dentro de um diretório que contém um rogue supervisord.conf arquivo.
Um aviso é emitido quando o supervisor é iniciado como root sem isso -c argumento.

Para alterar o conjunto de programas controlados por Supervisor, edite o supervisord.conf lima
e matar -HUP ou reinicie o Supervisor processo. Este arquivo tem vários exemplos
definições de programa.

O Supervisor O comando aceita várias opções de linha de comando. Cada um desses comandos
as opções de linha substituem qualquer valor equivalente no arquivo de configuração.

Supervisor Linha de comando Opções
-c ARQUIVO, --configuration =ARQUIVO
O caminho para um Supervisor arquivo de configuração.

-n, --nodaemon
Execute Supervisor em primeiro plano.

-h, --Socorro
Mostrar Supervisor ajuda de comando.

-u USUÁRIO, --user =USUÁRIO
Nome de usuário UNIX ou ID de usuário numérico. Se Supervisor é iniciado como o usuário root,
setuid para este usuário o mais rápido possível durante a inicialização.

-m OCTAL, --umask =OCTAL
Número octal (por exemplo, 022) que representa o umask que deve ser usado por Supervisor
depois de começar.

-d PATH, --directory =PATH
Quando supervisord é executado como um daemon, faça cd para este diretório antes de daemonizar.

-l ARQUIVO, --logfile =ARQUIVO
Caminho do nome do arquivo a ser usado como registro de atividades do supervisor.

-y BYTES, --logfile_maxbytes =BYTES
Tamanho máximo do arquivo de registro de atividades do supervisord antes de ocorrer uma rotação. O valor que
é multiplicado por sufixo, por exemplo, "1" é um byte, "1 MB" é 1 megabyte, "1 GB" é 1
gigabyte.

-y NUM, --logfile_backups =NUM
Número de cópias de backup do log de atividades do supervisord para manter. Cada
o arquivo de log será do tamanho logfile_maxbytes.

-e NÍVEL, --loglevel =NÍVEL
O nível de registro em que o supervisor deve gravar no registro de atividades. Válido
níveis são traçar, depurar, info, avisar, erro e crítico.

-j ARQUIVO, --pidfile =ARQUIVO
O nome do arquivo no qual o supervisord deve gravar seu arquivo pid.

-i STRING, --identifier =STRING
Identificador de string arbitrário exposto por várias IUs do cliente para esta instância de
Supervisor.

-q PATH, --childlogdir =PATH
Um caminho para um diretório (já deve existir) onde o supervisor irá escrever seu AUTO
-mode registros de processos filhos.

-k, --nocleanup
prevenir Supervisor de realizar a limpeza (remoção do antigo AUTO arquivos de registro de processo)
na inicialização.

-a NUM, --minfds =NUM
O número mínimo de descritores de arquivo que devem estar disponíveis para o supervisord
processo antes de iniciar com sucesso.

-t, --strip_ansi
Retire as sequências de escape ANSI de todos os processos de log filho.

-v, --versão
Imprima o número da versão do supervisord em stdout e saia.

--profile_options =LISTA
Lista de opções separadas por vírgulas para criação de perfil. Causas Supervisor correr sob um
gerador de perfil e resultados de saída com base nas opções, que é uma lista separada por vírgulas
da seguinte: acumulativo, chamadas, chamadores. Por exemplo cumulativo, chamadores.

--minprocs =NUM
O número mínimo de slots de processo do sistema operacional que devem estar disponíveis para o supervisord
processo antes de iniciar com sucesso.

Sinais
O Supervisor o programa pode receber sinais que o levam a executar certas ações
enquanto está em execução.

Você pode enviar qualquer um desses sinais para o único Supervisor id do processo. Este id de processo
pode ser encontrado no arquivo representado pelo arquivo pid parâmetro no [supervisor] seção
do arquivo de configuração (por padrão é $ CWD / supervisord.pid).

Signal Manipuladores
PRAZO META
Supervisor e todos os seus subprocessos serão encerrados. Isso pode demorar alguns segundos.

SIGINT
Supervisor e todos os seus subprocessos serão encerrados. Isso pode demorar alguns segundos.

TANTO
Supervisor e todos os seus subprocessos serão encerrados. Isso pode demorar alguns segundos.

SIGA
Supervisor irá parar todos os processos, recarregar a configuração da primeira configuração
arquivo que encontrar e reinicie todos os processos.

SIGUSR2
Supervisor irá fechar e reabrir o registro de atividade principal e todos os arquivos de registro filho.

Runtime Segurança
Os desenvolvedores fizeram o possível para garantir que o uso de um Supervisor processo em execução como
O root não pode levar ao aumento de privilégios não intencional. Mas embargo empregador. Supervisor é
não tão paranóico quanto algo como os daemontools do DJ Bernstein, na medida em que Supervisor
permite especificações de caminho arbitrário em seu arquivo de configuração para o qual os dados podem ser
escrito. Permitir a seleção de caminhos arbitrários pode criar vulnerabilidades no link simbólico
ataques. Tenha cuidado ao especificar caminhos em sua configuração. Certifique-se de que o
Supervisor arquivo de configuração não pode ser lido ou gravado por usuários sem privilégios e
que todos os arquivos instalados pelo pacote supervisor tenham proteção de permissão de arquivo "sã"
definições. Além disso, certifique-se de que seu PITONPATO é sensato e que todos os padrões Python
arquivos de biblioteca têm proteções de permissão de arquivo adequadas.

Corrida Supervisor automaticamente on inicialização
Se você estiver usando uma versão empacotada para distribuição do Supervisor, ela já deve ser
integrado à infraestrutura de gerenciamento de serviço de sua distribuição.

Existem scripts contribuídos por usuários para vários sistemas operacionais em:
https://github.com/Supervisor/initscripts

Existem algumas respostas no Serverfault caso você fique preso: Como funciona o dobrador de carta de canal para automaticamente começo
Supervisor on Linux (Ubuntu)

Subprocessos


SupervisorO objetivo principal do é criar e gerenciar processos com base em dados em seu
arquivo de configuração. Ele faz isso criando subprocessos. Cada subprocesso gerado por
supervisor é gerenciado por toda a sua vida pelo supervisord (Supervisor é o
processo pai de cada processo que ele cria). Quando uma criança morre, o supervisor é notificado de
sua morte através do SIGCHLD sinal e executa a operação apropriada.

Não demonizante of Subprocessos
Os programas destinados a serem executados sob o supervisor não devem daemonizar a si próprios. Em vez disso, eles
deve ser executado em primeiro plano. Eles não devem se desprender do terminal do qual
são iniciados.

A maneira mais fácil de saber se um programa será executado em primeiro plano é executar o comando que
invoca o programa a partir de um prompt de shell. Se der a você o controle do terminal de volta,
mas continua em execução, está daemonizando a si mesmo e isso quase certamente será o errado
maneira de executá-lo sob o supervisor. Você deseja executar um comando que essencialmente requer que você
pressionar Ctrl-C para obter o controle do terminal de volta. Se lhe der um prompt de shell de volta
depois de executá-lo sem a necessidade de pressionar Ctrl-C, não é útil no supervisor. Tudo
os programas têm opções para serem executados em primeiro plano, mas não existe uma "maneira padrão" de fazê-lo;
você precisará ler a documentação de cada programa.

Abaixo estão exemplos de arquivos de configuração que são conhecidos por iniciar programas comuns em
modo "foreground" em Supervisor.

Exemplos of Programa configurações
Aqui estão alguns exemplos de configuração de programa do "mundo real":

apache 2.2.6
[programa: apache2]
comando = / caminho / para / httpd -c "ErrorLog / dev / stdout" -DFOREGROUND
redirect_stderr = true

Dois zope 2.X instâncias e um ZEO servidor
[programa: zeo]
comando = / caminho / para / runzeo
prioridade = 1

[programa: zope1]
comando = / caminho / para / instância / home / bin / runzope
prioridade = 2
redirect_stderr = true

[programa: zope2]
comando = / caminho / para / outra / instância / home / bin / runzope
prioridade = 2
redirect_stderr = true

postgres 8.X
[programa: postgres]
comando = / caminho / para / postmaster
; usamos o sinal de desligamento "rápido" SIGINT
stopignal = INT
redirect_stderr = true

OpenLDAP bofetada
[programa: slapd]
comando = / caminho / para / slapd -f /path/to/slapd.conf -h ldap: //0.0.0.0: 8888
redirect_stderr = true

Outros Exemplos
Outros exemplos de scripts de shell que podem ser usados ​​para iniciar serviços em Supervisor pode
ser encontrado em http://thedjbway.b0llix.net/services.html. Esses exemplos são, na verdade, para
Daemon Tools mas a premissa é a mesma para o supervisor.

Outra coleção de receitas para iniciar vários programas em primeiro plano está disponível
da http://smarden.org/runit/runscripts.html.

proxy Programa
Alguns processos (como mysqld) ignorar os sinais enviados para o processo real que é gerado por
Supervisor. Em vez disso, um thread / processo "especial" é criado por esses tipos de programas
que é responsável pelo tratamento dos sinais. Isso é problemático porque Supervisor pode
apenas mate um processo que ele mesmo cria. Se um processo criado por Supervisor cria
seus próprios processos filhos, Supervisor não pode matá-los.

Felizmente, esses tipos de programas normalmente escrevem um "pidfile" que contém o
PID de processo "especial" e deve ser lido e usado para encerrar o processo. Como
uma solução alternativa para este caso, um especial proxy programa pode lidar com a inicialização desses tipos
de processos. o proxy programa é um pequeno shim que inicia um processo, e sobre o
recepção de um sinal, envia o sinal para o pid fornecido em um pidfile. Uma amostra
a entrada do programa de configuração para um programa habilitado para pidproxy é fornecida abaixo.

[programa: mysql]
comando = / caminho / para / pidproxy / caminho / para / pidfile / caminho / para / mysqld_safe

O proxy programa é colocado em sua configuração $ BINDIR quando o supervisor é instalado
(é um "script de console").

Subprocesso Meio Ambiente
Os subprocessos herdarão o ambiente do shell usado para iniciar o Supervisor
programa. Várias variáveis ​​de ambiente serão definidas por Supervisor se na criança
ambiente também, incluindo SUPERVISOR_ENABLED (uma bandeira indicando que o processo está sob
controle do supervisor), SUPERVISOR_PROCESS_NAME (o nome do processo especificado pelo arquivo de configuração para
este processo) e SUPERVISOR_GROUP_NAME (o nome do grupo de processos especificado pelo arquivo de configuração para
o processo filho).

Essas variáveis ​​de ambiente podem ser substituídas dentro do [supervisor] configuração da seção
opção chamada meio Ambiente (aplica-se a todos os subprocessos) ou dentro do per- [programa: x]
seção meio Ambiente opção de configuração (aplica-se apenas ao subprocesso especificado no
[programa: x] seção). Essas configurações de "ambiente" são aditivas. Em outras palavras, cada
o ambiente do subprocesso consistirá em:
As variáveis ​​de ambiente definidas no shell usadas para iniciar o supervisord ...

... adicionado a / substituído por ...

... da meio Ambiente variáveis conjunto dentro da meio Ambiente global
opção de configuração ...

... adicionado a / substituído por ...

... específico do supervisor meio Ambiente variáveis
(SUPERVISOR_ENABLED, SUPERVISOR_PROCESS_NAME, SUPERVISOR_GROUP_NAME) ..

... adicionado a / substituído por ...

... da meio Ambiente variáveis conjunto dentro da por processo
opção de configuração do "ambiente".

Nenhum shell é executado por Supervisor quando ele executa um subprocesso, então as variáveis ​​de ambiente
tais como USUÁRIO, PATH, INICIO, SHELL, NOME DO LOG, etc. não são alterados de seus padrões ou
caso contrário, reatribuído. Isso é particularmente importante observar quando você está executando um
programa de um Supervisor execute como root com um usuário = estrofe na configuração. diferente
cron, Supervisor não tenta adivinhar e substituir o ambiente "fundamental"
variáveis ​​como USUÁRIO, PATH, INICIO e NOME DO LOG quando executa um setuid para o usuário definido
dentro do usuário = opção de configuração do programa. Se você precisar definir variáveis ​​de ambiente para um
programa específico que poderia ser definido por uma invocação de shell para um determinado
usuário, você deve fazê-lo explicitamente dentro do ambiente = opção de configuração do programa. Um exemplo
de definir essas variáveis ​​de ambiente é como abaixo.

[programa: apache2]
comando = / home / chrism / bin / httpd -c "ErrorLog / dev / stdout" -DFOREGROUND
usuário = crisma
ambiente = HOME = "/ home / crisma", USER = "crisma"

Extração Unidos
Um processo controlado pelo supervisord estará em um dos estados abaixo a qualquer momento.
Você pode ver esses nomes de estado em vários elementos da interface do usuário nos clientes.

PARADO (0).
O processo foi interrompido devido a um pedido de interrupção ou nunca foi iniciado.

INICIANDO (10).
O processo está sendo iniciado devido a uma solicitação de início.

CORRENDO (20).
O processo está em execução.

SAIA DE PERTO (30).
O processo entrou no INICIANDO estado, mas posteriormente saiu muito rapidamente para mover para
da CORRENDO Estado.

PARANDO (40).
O processo está sendo interrompido devido a uma solicitação de parada.

EXITADO (100).
O processo saiu do CORRENDO estado (esperado ou inesperadamente).

FATAL (200).
O processo não pôde ser iniciado com sucesso.

DESCONHECIDO (1000).
O processo está em um estado desconhecido (Supervisor erro de programação).

Cada processo executado sob o supervisor progride através desses estados de acordo com o seguinte
gráfico direcionado.
[imagem: Gráfico de transição do estado do subprocesso] [imagem] Transição do estado do subprocesso
Gráfico.UNINDENT

Um processo está no PARADO indique se foi interrompido administrativamente ou se
nunca foi iniciado.

Quando um processo de reinicialização automática está no SAIA DE PERTO estado, será automaticamente
reiniciado por Supervisor. Vai alternar entre INICIANDO e SAIA DE PERTO estados até isso
torna-se evidente que não pode ser iniciado porque o número de estelares tem
excedeu o máximo, momento em que fará a transição para o FATAL Estado. Cada começo
a nova tentativa levará cada vez mais tempo.

Quando um processo está no EXITADO estado, ele irá reiniciar automaticamente:

· Nunca se for reinício automático parâmetro está definido como falso.

· Incondicionalmente se for reinício automático parâmetro está definido como verdadeiro.

· Condicionalmente se for reinício automático parâmetro está definido como inesperado. Se saiu com um
código de saída que não corresponde a um dos códigos de saída definidos no códigos de saída
parâmetro de configuração do processo, ele será reiniciado.

Um processo faz a transição automaticamente de EXITADO para CORRENDO como resultado de ser configurado
para iniciar automaticamente condicionalmente ou incondicionalmente. O número de transições entre
CORRENDO e EXITADO não é limitado de forma alguma: é possível criar uma configuração
que reinicia indefinidamente um processo encerrado. Este é um recurso, não um bug.

Um processo iniciado automaticamente nunca será reiniciado automaticamente se terminar no FATAL
estado (deve ser reiniciado manualmente a partir deste estado).

Um processo faz a transição para o PARANDO estado por meio de uma solicitação de interrupção administrativa, e
então acabar no PARADO Estado.

Um processo que não pode ser interrompido com sucesso permanecerá no PARANDO estado para sempre.
Esta situação nunca deve ser alcançada durante as operações normais, pois implica que o
processo não respondeu a uma final SIGKILL sinal enviado a ele pelo supervisor, que é
"impossível" no UNIX.

As transições de estado que sempre exigem ação do usuário para invocar são estas:

FATAL -> INICIANDO

CORRENDO -> PARANDO

As transições de estado que normalmente, mas nem sempre, exigem ação do usuário para invocar são
estes, com as exceções indicadas:

PARADO -> INICIANDO (exceto na inicialização do supervisord se o processo estiver configurado para inicialização automática)

EXITADO -> INICIANDO (exceto se o processo estiver configurado para reinicialização automática)

Todas as outras transições de estado são gerenciadas pelo supervisord automaticamente.

Glossário
Daemon Tools
A processo ao controle sistema. by DJ Bernstein.

launchd
A processo ao controle sistema. usava by Apple como processo 1 no Mac OS X.

executá-lo A processo ao controle sistema..

Superlança
Um pacote que fornece várias implementações de ouvinte de evento que se conectam ao
Supervisor que pode ajudar a monitorar o uso de memória do processo e o status do travamento:
http://pypi.python.org/pypi/superlance.

umask Abreviatura de usuário máscara: define a máscara de criação do modo de arquivo do processo atual.
See http://en.wikipedia.org/wiki/Umask.

Use supervisord online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad




×
Anúncios
❤ ️Compre, reserve ou compre aqui — sem custos, ajuda a manter os serviços gratuitos.