Domanda

Sto tentando di scrivere un demone di pitone che lancerà in fase di boot. L'obiettivo dello script è quello di ricevere un lavoro dal nostro server load balancing Gearman e completare il lavoro. Sto usando il modulo python-daemon da PyPI ( http://pypi.python.org/ PyPI / python-daemon / ). La natura del lavoro che si sta completando è la conversione di immagini in ORF (olympus formato immagine RAW) JPEG. Per realizzare questo un fuori programma viene utilizzato, ufraw in questo caso. Il problema arriva quando inizio il demone all'avvio, se mi lancio dalla shell funziona perfettamente e completa l'opera. Quando comincia al boot non è in grado di lanciare il comando sottoprocesso.

commandString = '/usr/bin/ufraw-batch --interpolation=four-color --wb=camera --compression=100 --output="' + outfile + '" --out-type=jpg  --overwrite "' + infile + '"'
args = shlex.split(commandString)
process = subprocess.Popen(args).wait()

Non sono sicuro di quello che sto facendo male. Grazie per qualsiasi aiuto.

È stato utile?

Soluzione

Il problema non è legato al pitone, ma piuttosto relativo al demone ubuntu init.d. Ho pensato che lo script python stava comportando come un utente scopre che non lo è. Per risolvere il problema ho aggiunto un comando sudo allo script init.d ed il sottoprocesso si avvia correttamente ora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top