Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/07/2007, 10h53   #1
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Par défaut Clôturer une session utilisateur avec un script


Hello,
Je voudrais développer un script qui se chargera de déconnecter si délai dépassé un utilisateur automatiquement. Il n'arrêtera pas le système proprement dit mais il clôturera soit la session aussi bien dans l'environnement gnome ou kde.
Comment m'y prendre?
Je vous attends.
Merci.
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 16h11   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
cela existe deja c'est l'idle

si tu veux pour le fun te faire le tiens tu peux tout simplement
tester son pid le plus petit

comment tout arreter pour un utilisateur unique
ps -ef | grep user ....
erchercher le plus petit et le tuer avec le signal TERM
et verifier qu'il ne reste plus rien par la suite.
si il en reste faire un kill signal term (15)
si le TERM echoue alors envoyer un signal KILL (9)

(c'est exactement ce que fait le shutdown sauf que la tu selectionne un user en particulier parmis les utilisateurs connectes).

si c'est destine a une machine perso sur laquelle tu est le seul utilisateur
le plus simple et d'appeler la commande init 3.
ce qui evite de faire un script.

pour surveiller l'activitee d'un utilisateur le plus simple et de regarder les logs et les processus...
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 17h47   #3
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Merci pour la réponse. Je teste et te donne suite après.
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 18h26   #4
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Merci frp31 ça marche.
Now je vais chercher à le coder en perl.
Encore une fois Merci.
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 14h02   #5
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Pour le script perl:
Je lance la commande ps et j'enregistre les résultats dans un fichier.
Code :
1
2
3
4
 
 open(FILE, ">processus");
 print FILE `ps -ef | grep $user`
 close FILE
Ensuite je sélectionne chaque ligne du fichier que je split dans un tableau et j'enregistre les numéros de pid dans un tableau(@pids).
Enfin je lance le signal TERM sur le premier pid ou même tous les pids avec la fonction kill:
Code :
1
2
 
 kill("TERM",@pids);
Et ça marche
Bye!
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h08.


 
 
 
 
Partenaires

Hébergement Web