|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2008 Messages : 32 ![]() |
Bonjour,
Sous linux, si on lance un programme qui donne lieu à une console propre à lui et on perd la connexion à la machine, comment peut on reprendre la main sur le programme quand on se connecte de nouveau ? Merci |
|
|
10
|
|
|
#2 |
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
salut,
je sais pas ce que tu veux faire mais je pense que la première chose à faire et de vérifier que ton programme tourne toujours en faisant : ou a+, ben
__________________
Meet the free software gang |
|
|
20
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
beaucoup d'applications vont coupé dans un tel cas et se killer
par prudence quand on fait une manipulation importante on la lance tjrs de telle sorte qu'elle soit rattaché au processe 1 et pas au process de connection en nohup donc par exemple en cas de crash de la connection on se reconnecte et on peut faire une remise en foreground de la tache en question jobs pour lister les taches lancés comme ça exemple |
|
|
20
|
|
|
#4 | ||
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
oui bien vu,
avec le nohup même si tu te fais déconnecter ton appli continue de tourner, tu peux fermer ton shell sans soucis. Code :
__________________
Meet the free software gang |
||
|
|
01
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2008 Messages : 32 ![]() |
pour etre plus précis, j'ai un programme en C que je lance sur la machine et qui va tourner tout le temps, même si je me déconnecte il reste là (je vérifie avec ps -ef)
le probleme est que la commande jobs ne me donne rien, peut etre parce que c pas un script shell ?! j'ai essayé de mettre fg avec le PID, mais ça marche pas ! any other guess ? Merci |
|
|
01
|
|
|
#6 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 464 ![]() |
Bonjour,
Lance-le avec screen. Tu pourras ensuite le recuperer avec cette meme commande. Par ailleurs, tu dis lancer un progamme C qui tourne tout le temps. C'est donc qu'il se demonise ? Si oui, comment, et est-ce que son pere est bien 1 ? Si c'est le cas, le plus simple est de prevoir un moyen de communication avec ton demon (memoire partagee, socket, signal, ...) |
|
|
30
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
si le programme démonne, le mieux est de le lancer par l'inittab en mode respawn ainsi quoi qu'il arrive, meme si tu le kill, il redémarre
|
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2008 Messages : 32 ![]() |
le truc c'est que le programme ce n'est moi qui l'a fait !
j'ai vu que il donne une option de démarrage avec un numéro de port, socket ... je suppose donc qu'il donne la possibilité de s'y connecter: Code :
Usage: %s [-t] [-g] [-c config] [-s script] [-d device] [-p port|-u socket] Code :
root 22230 1 0 21:41 ? 00:00:00 ./aftr -p 5000 -u aftr Merci. |
|
|
10
|
|
|
#9 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 464 ![]() |
Bonjour,
Tu as la commande "netstat -a" pour voir si un programme ecoute sur une socket. Dans ton cas, je pense que : devrait correspondre a ton cas. Si ton programme ecoute sur une socket, c'est un bon debut, mais encore faut-il savoir lui parler ! Or si tu ne l'as pas ecrit, tu as peu de chances de reussir a savoir ce qu'il attend... Une autre solution consiste a le lancer avec screen, qui te permet de recuperer la main dessus meme si tu perds la connexion. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com