2016-12-21 2 views
1

Je travaille sur un projet depuis quelques semaines maintenant et j'ai rencontré quelque chose (probablement stupidement simple) que je n'arrive pas à comprendre!Python: exécuter le service après hostapd

import os 
os.system("service hostapd start && hostapd /etc/hostapd/hostapd.conf") 
os.system("service someservicethatIuse start") 

Quand je commence hostapd le script fait une pause car elle permet un point d'accès. J'ai essayé de courir avec xfce4-terminal --tab -e "hostapd /etc/hostapd/hostapd.conf" --tab -e "service someservicethatIuser start" mais il ne semble pas fonctionner: -/

(Langue: Python 2.6)

+0

Pourquoi utilisez-vous Python pour cela? si tout ce que vous faites est d'exécuter des commandes shell? – tripleee

Répondre

1

Je ne sais pas hostapd, mais le plus souvent il suffit d'exécuter service foo start pour démarrer un service et ne bloque pas.

Quoi qu'il en soit, vous pouvez exécuter des processus shell prallel en utilisant sh& opérateur:

import os 
os.system("service hostapd start && hostapd /etc/hostapd/hostapd.conf &") 
os.system("service someservicethatIuse start") 
+0

hmm ... cela ne semble pas fonctionner: – Newbieprogrammer

+0

quand je l'exécute, il démarre d'abord le service, puis il démarre hostpad – Newbieprogrammer

+0

Si l'autre service dépend de 'hostapd' étant en hausse, c'est une fonctionnalité utile que le script attend 'hostapd' pour réellement commencer avec succès. – tripleee

0

Utilisez le -B option lorsque vous démarrez hostapd, il devrait fonctionner en arrière-plan

$ ~/hostapd -B /etc/hostapd/hostapd.conf