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
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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part top
a+,
Code : Sélectionner tout - Visualiser dans une fenêtre à part ps
ben
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part ssh user@host "nohup commande & "
jobs pour lister les taches lancés comme ça
exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $ jobs %1 backup.sh %2 tar $
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $fg %1 Backup ....
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 NOHUP(1) User Commands NOHUP(1) NAME nohup - run a command immune to hangups, with output to a non-tty SYNOPSIS nohup COMMAND [ARG]... nohup OPTION DESCRIPTION Run COMMAND, ignoring hangup signals.
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
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, ...)
Partager