2012-07-05 8 views
5

Ho un comando service app start-demo richiede di digitare sudo service app start-demo nella riga di comando.eseguito come sudo nel tessuto

Ho usato sudo(service app start-demo) e sudo(sudo service app start-demo) ma ho ancora ottenere

Attenzione: sudo() ha rilevato un errore (codice di ritorno 1) durante l'esecuzione di 'sudo servizio App inizio-demo'

non ho alcun problema in esecuzione che come una riga di comando in un terminale.

Non sono sicuro se SADeprecationWarning: conta come errore di fabric?

Grazie.


[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. 

il codice

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

uno dei due comandi sudo fallirà.


/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

La configurazione di 'sudo' richiede la digitazione di una password sul terminale? – sarnold

+0

Hai inserito il comando tra virgolette? Dovrebbe essere 'sudo (" service app start-demo ")'. – mayhewr

+0

@sarnold Non funziona. Quando faccio 'sudo' sul terminale, non lo chiederò. Ho corso da favoloso che non ha chiesto neanche. – user423455

risposta

3

Questo è prolly legato a questa menzione nel faq, ma anche se il comando non restituisce 0 (standard UNIX per ogni bene) Sarà fail-veloce a meno che lo dici solo per avvisare.

+0

Grazie! Questo è un ottimo risultato :) Ora ... un'altra cosa ... il fab non ritorna. Aspetta lì. Perché? – user423455

+0

Molto probabilmente a causa di alcune nohup o roba di sfondo, anche [menzionato nelle FAQ] (http://docs.fabfile.org/en/1.4.2/faq.html#why-can-ti-run-programs-in -la-background-with-it-fa-tessuto-hang) – Morgan