Question

Je cherche à écrire un démon python qui va lancer au démarrage. Le but du script est de recevoir un travail de notre serveur d'équilibrage de charge gearman et terminer le travail. J'utilise le module démon python pypi ( http://pypi.python.org/ pypi / python-daemon / ). La nature du travail qu'il termine est la conversion des images en orf (olympus format brut) au format JPEG. Pour ce faire un programme extérieur est utilisé, ufraw dans ce cas. Le problème vient quand je lance le démon au démarrage, si je lance de la coquille, il fonctionne parfaitement et complète le travail. Quand il commence au démarrage, il est incapable de lancer la commande sous-processus.

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()

Je ne sais pas ce que je fais mal. Merci pour toute aide.

Était-ce utile?

La solution

La question n'a rien à voir python mais plutôt lié au démon ubuntu init.d. Je suppose que le script python a été l'être comme utilisateur se avère que ce n'est pas. Pour remédier à ce problème, j'ai ajouté une commande sudo au script init.d et le sous-processus commence maintenant avec succès.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top