2012-07-05 7 views
5

Tengo un comando service app start-demo requiere que escriba sudo service app start-demo en la línea de comandos.ejecutar como sudo en el tejido

que utilizan sudo(service app start-demo) y sudo(sudo service app start-demo) pero aún así obtener

Advertencia: sudo() encontrado un error (código de retorno 1) durante la ejecución de las aplicaciones para el servicio sudo puesta en demostración '

no tengo ningún problema ejecutando lo como una línea de comando en una terminal.

No estoy seguro de si SADeprecationWarning: cuenta como una falla en la tela?

Gracias.


[email protected]:/var/lib/app$ fab kickstart 
You are installing prereqs.......... 
### Install Prereqs for Populate ### 
No hosts found. Please specify (single) host string for connection: localhost 
[localhost] Login password: 

### I am starting demo ### 
[localhost] sudo: sudo service app start-demo 
[localhost] out: Starting demo 

Fatal error: sudo() encountered an error (return code 1) while executing 'sudo service app start-demo' 

Aborting. 
Disconnecting from localhost... done. 

el código

def pserve(): 
    print '### I am starting demo ###' 
    #with settings(warn_only=True): 
    sudo('sudo service app start-demo') 
    #sudo('service app start-demo') 

fallará, ya sea de comandos sudo.


/etc/sudoers

# /etc/sudoers 
# 
# This file MUST be edited with the 'visudo' command as root. 
# 
# See the man page for details on how to write a sudoers file. 
# 

Defaults env_reset 

# Host alias specification 

# User alias specification 

# Cmnd alias specification 

# User privilege specification 
root ALL=(ALL) ALL 

# Allow members of group sudo to execute any command after they have 
# provided their password 
# (Note that later entries override this, so you might need to move 
# it further down) 
%sudo ALL=(ALL) ALL 
# 
#includedir /etc/sudoers.d 

# Members of the admin group may gain root privileges 
%admin ALL=(ALL) NOPASSWD:ALL 
+0

¿Su configuración 'sudo' requiere que escriba una contraseña en el terminal? – sarnold

+0

¿Pusiste el comando entre comillas? Debe ser 'sudo (" service app start-demo ")'. – mayhewr

+0

@sarnold No es así. Cuando hago 'sudo' en la terminal, no preguntará. Funcioné tan fabuloso que tampoco pregunté. – user423455

Respuesta

3

Esto es prolly relacionados con esta mención en el faq, sino también si el comando no devuelve 0 (estándar UNIX para todos buenos) se fallarán rápido a menos le dices que advierta solo.

+0

Thansk! Es un hallazgo muy bueno :) Ahora ... una cosa más ... fab no regresa. Solo espera allí. ¿Porqué es eso? – user423455

+0

Muy probablemente debido a algunas cosas de nohup o de fondo, también [mencionado en las preguntas frecuentes] (http://docs.fabfile.org/en/1.4.2/faq.html#why-can-ti-run-programs-in -the-background-with-it-makes-fabric-hang) – Morgan

Cuestiones relacionadas