Voila, j'ai un problème :
ma mère oublie parfois d'éteindre sa machine.
Ma solution : un script, en perl, qui regarde s'il y a quelqu'un de connecté. Si oui, rien ne se passe, sinon, la machine est coupée.
Mon problème concernant ma solution : le script à l'air de marcher normalement, mais quand je le met dans le cron du root, la machine n'est pas éteinte !
voici le script :
Code :
- #!/usr/bin/perl -w
- open(CONNECTE, "users|" );
- $nb_users = 0;
- while(<CONNECTE> ) {
- $nb_users++;
- }
- close CONNECTE;
- open(PLOP, "|touch /tmp/nb_users_logged_".$nb_users);
- close PLOP;
- if($nb_users == "0" ) {
- open(PLOP, "|touch /tmp/deconnect_launch" );
- close PLOP;
- system("shutdown -h 5 'Rivendell vas se deconnecter, il faut aller dormir'" );
- }
|
le crontab du root :
Code :
- 0 0 * * * /root/bin/deconnect
|
Ce qui ce passe : j'ai bien le 'touch' qui est fait, mais il n'arrête pas la machine (donc il est bien d'accord qu'il n'y a personne de connecté)
j'ai essayé d'autre manière d'appelé shutdown (dans un "open", comme pour le "touch" ) mais rien n'y fait. Je ne vois pas trop mon erreur, si quelqu'un peut m'aidé, d'avance merci