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 :

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" &')
Les codes sont tous bien paramétrés en terme de droits ( chmod +x code.py )

Le code nodejs semble bien paramétré car certains code python s'exécutent bien. Voici un extrait du code nodejs :

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);
		 }
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.

Je ne sais pas si j'ai été assez explicite.

Merci pour votre aide.