2017-09-16 5 views
3

Je conçois une pièce de quincaillerie électronique qui peut entrer en contact avec de l'eau s'il y a un dysfonctionnement mécanique (par exemple, une rupture d'étanchéité). À l'intérieur de l'appareil, j'ai des capteurs d'humidité autour de toutes les zones critiques. J'ai déjà écrit un script qui surveille ces capteurs d'humidité, mais je veux écrire un script d'urgence indiquant que si l'un des capteurs d'humidité détecte de l'eau, le système peut être coupé rapidement pour éviter tout dommage électrique à l'appareil lui-même. proche.Arrêt rapide du système en Python

En ce moment, tout ce que je pouvais trouver était le protocole suivant:

import os 
os.system('shutdown -P now') 

est-il un moyen trivial de faire de l'ordinateur ont un « dur » fermer? J'ai aussi envisagé d'alimenter l'appareil avec l'alimentation principale via un relais que l'ordinateur peut contrôler, donc je peux couper l'alimentation de l'ordinateur, mais j'espérais qu'il y avait un moyen de le faire sans avoir utiliser un tel relais de puissance.

+0

Vous voulez dire shutdown -h maintenant – mwweb

+0

En supposant que c'est Linux, vous voulez probablement utiliser 'poweroff -f'. Mieux encore, trouvez le code source de cet utilitaire et déterminez comment appeler l'appel système directement depuis Python ... – Nemo

+0

Merci pour la réponse rapide! Quelles sont les différences entre -P, -h et la mise hors tension -f? Je suis très novice dans le codage en python pour les applications matérielles, donc mes connaissances sont très limitées. –

Répondre

0

Essayez ceci:

import os 
os.system('shutdown -h now') 
+0

Est-ce que le -h signifie 'hard shutdown'? –

+0

Signifie l'arrêt et l'arrêt, en passant 'now', il s'arrêtera immédiatement. [Voir cet article] (https://www.computerhope.com/unix/ushutdow.htm), cela pourrait vous être utile. – Abe

+0

Avez-vous essayé d'effectuer des tests virtuels dans un envirionment fermé, avec un logiciel virtuel ou quelque chose comme ça? – Abe