Bonjour,
Je cherche à comprendre pourquoi je n'arrive pas à lancer une commande python depuis un serveur nodejs. Je précise le schéma :
J'ai un serveur nodejs qui propose une petite interface avec des boutons qui permettent d'activer des commandes python.
Les commandes python ont toutes été testées manuellement et elles fonctionnent toutes. Ces commandes sont :
Les codes sont tous bien paramétrés en terme de droits ( chmod +x code.py )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 os.system('sshpass -p\'gc\' ssh root@10.0.20.11 "reboot -f" &') os.system('sshpass -p\'gc\' ssh root@10.2.10.11 "poweroff now" &')
Le code nodejs semble bien paramétré car certains code python s'exécutent bien. Voici un extrait du code nodejs :
Par ailleurs lorsque j'appuie sur le bouton (donc depuis nodejs), et en parallèle j'ai le htop qui tourne, je vois bien mon script qui apparaît dans la liste des taches, par contre les commandes contenues dans ce script os.system('sshpass ... ne se lancent pas --> pas visibles dans le htop, et la je ne comprends pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 if(name=="reboot"){ if (state_reboot ==0 & state_stop ==0 & state_start ==0 & state_cleanup ==0){ spawn('python', ['/home/radxa/server_alert/public/reboot.py']); //ici on lance le script reboot console.log("reboot : commande lancée") state_reboot=1; setTimeout(()=>{ state_reboot=0 io.emit('etatreboot',state_reboot); }, 25000) } io.emit('etatreboot',state_reboot); }
Je ne sais pas si j'ai été assez explicite.
Merci pour votre aide.
Partager