Este é o almoço de comando 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
almoço - lançador de processo distribuído
SINOPSE
almoço [configuração lima] [opções]
DESCRIÇÃO
Lunch é um lançador de processo distribuído para GNU / Linux. O mestre do almoço lança
lanche-escravo processa por meio de uma sessão SSH criptografada se em um host remoto. Esses escravos
os processos podem, por sua vez, lançar os comandos desejados sob demanda.
OPÇÕES
--versão
mostrar o número da versão do programa e sair
-h, --Socorro
mostre esta mensagem de ajuda e saia
-f CONFIG_FILE, --config-arquivo=Config_file.
Especifica o arquivo de configuração python. Você também pode simplesmente especificar o arquivo de configuração como
o primeiro argumento.
-l LOGGING_DIRECTORY, --diretório de log=LOGGING_DIRECTORY
Especifica o diretório de registro e pidfile para o mestre. O padrão é
/ var / tmp / lunch
-q, --log para arquivo
Habilita o registro de informações principais para o arquivo e desabilita o registro na saída padrão.
-g, --gráfico
Ativa a interface gráfica do usuário.
-v, --verbose
Torna a saída de registro detalhada.
-d, --depurar
Torna a saída de registro muito detalhada.
-k, --matar
Mata outro lunch master que usa o mesmo arquivo de configuração e diretório de registro.
Sai assim que terminar.
OPERAÇÃO
O executável do almoço é chamado de mestre do almoço. O executável lanche-escravo é chamado de
escravo do almoço. Se executado como um mestre, ele lança escravos. Os escravos são responsáveis por
lançando processos filho. O mestre lança escravos (via SSH ou não) que, por sua vez,
iniciar processos filho.
O arquivo de configuração Lunch pode ser fornecido como um primeiro argumento para o executável lunch.
Se não for fornecido, o mestre do almoço irá procurar o ~ / .lunchrc Arquivo. Se não for encontrado, o almoço vai
imprima um erro e saia. O arquivo de configuração do almoço é escrito na programação Python
idioma e deve chamar a função add_command.
O ID do processo do mestre é gravado em um arquivo localizado em /var/tmp/lunch/master*.pid,
onde * varia dependendo do arquivo de configuração do lunch usado para configurar o master. Aqui está
como matar todos os almoços mestre em seu sistema:
para f em /var/tmp/lunch/master-*.pid; matar -15 $ (cat $ f); feito
GRÁFICO USUÁRIO INTERFACE
Quando invocado com a opção --graphical, (-g) o lunch master mostra um usuário gráfico
interface exibindo o estado de cada processo gerenciado. Quando esta janela é fechada, o
O lunch master sai e mata todos os seus processos filhos.
SSH CHAVES GESTÃO
Se for usado para mais de um host, o lunch precisa de um servidor SSH instalado em cada remoto
computador. Também é necessário que a chave SSH pública do seu usuário no computador mestre
deve ser instalado em cada computador escravo. Aqui está um resumo das etapas a serem seguidas para criar
uma chave SSH em seu computador mestre e envie sua chave pública em cada computador escravo.
$mkdir-p ~ / .ssh
$ chmod 700 ~ / .ssh
$ ssh-keygen-f ~ / .ssh / id_rsa -t rsa
Em seguida, para cada host escravo, faça:
$ ssh-copy-id @
$ ssh username @ host 'echo Hello'
O último comando deve exibir "Hello" quando emitido.
Se você iniciar o almoço via SSH e lançar a partir daí os comandos de outros hosts, você deve primeiro
certifique-se de que o ssh-agent esteja em execução e que você desbloqueou sua chave SSH privada.
Isso pode ser feito assim:
$ ssh-agente bash
$ ssh-adicionar
HISTÓRIA
2010 - Portado de multiprocessamento para Twisted
2009 - Escrito por Alexandre Quessy[email protegido]> com contribuições de Simon
Piette[email protegido]>
EXEMPLOS
Veja o diretório de exemplos para exemplos. Em um sistema Debian ou Ubuntu, eles devem estar localizados
no diretório / usr / share / doc / lunch / examples /.
Aqui está o exemplo mais simples possível para o conteúdo de um ~ / .lunchrc Arquivo. Diz
Almoço para chamar apenas um comando, denominado "xeyes".
add_command ("xeyes")
Se você adicionar mais chamadas para add_command neste arquivo, ele irá adicionar mais processos para serem
lançado até o almoço. O add_command é a função Python que você precisa chamar de seu almoço
arquivo de configuração para adicionar comandos a serem chamados pelo Lunch. Se você adicionar mais de
um comando, eles serão chamados na ordem em que você os adicionar ao arquivo.
Aqui está um exemplo mais complexo de um arquivo de configuração. Ele cria três processos, com
dependências entre processos.
add_command ("xeyes", identifier = "xeyes")
add_command ("xlogo", Depende = ["xeyes"])
add_command ("xclock", depends = ["xeyes", "xlogo"])
O arquivo de configuração acima iniciará primeiro o xeyes, depois o xlogo e, finalmente, o xclock.
Se o xeyes fechar, todos os três processos serão parados e reiniciados. Se o processo xlogo
sair, o xclock será interrompido e reiniciado novamente quando o xlogo estiver em execução. o
o argumento de palavra-chave "depende" da função "add_command" precisa de uma lista de strings como
argumento. Essa string deve corresponder ao argumento de palavra-chave "identificador" de um já adicionado
comando.
No próximo exemplo, usamos SSH para iniciar processos em um host remoto. Observe que o almoço
o script escravo deve ser instalado em cada um dos hosts nos quais os processos filhos serão iniciados.
add_command ("xeyes")
add_command ("xeyes", user = "johndoe", host = "example.org")
Ele criará uma árvore de processo como esta:
almoço _______________ almoço escravo ____ olhos
| ____ ssh ____ almoço-escravo ____ olhos
O próximo é um comando executado apenas uma vez.
add_command ("ls -l", identificador = "listagem ...", respawn = False)
Se, por algum motivo, for mais fácil para você especificar o nome do host para cada comando que você
adicionar, mesmo para o host local, você pode chamar "add_local_address" com o IP do mestre como um
argumento.
add_local_address ("192.168.1.2")
# Não usaremos SSH para este,
# uma vez que acabamos de adicionar seu host usando o
# função "add_local_address".
add_command ("xeyes",
identificador = "local_xeyes",
usuário = "johndoe", host = "192.168.0.2")
# Usaremos SSH para o próximo,
# uma vez que seu host não está definido como sendo o host local.
add_command ("xeyes -geometry 300x400",
identifier = "remote_xeyes",
usuário = "johndoe", host = "exemplo.org")
RELATÓRIOS INSETOS
See http://svn.sat.qc.ca/trac/lunch para ajuda e documentação.
Use o almoço online usando os serviços onworks.net