J'ai créé un écran "myscreen" sous Linux et il a cessé de répondre brusquement. J'ai fermé le terminal et essayé de le rouvrir. "screen -ls" indique que l'écran est attaché. J'ai essayé les commandes suivantes mais rien ne répond.
screen -r myscreen
screen -D myscreen
screen -D -RR myscreen
screen -X -S myscreen quit
Toute aide pour se rattacher à l'écran ou pour tuer l'écran est très appréciée.
screen -X -S SCREENID kill
alternativement, vous pouvez utiliser la commande suivante
screen -S SCREENNAME -p 0 -X quit
Vous pouvez afficher la liste des sessions d'écran en exécutant screen -ls
Créer un écran depuis le terminal:
screen -S <screen_name>
Pour voir la liste des écrans:
<screen -ls> or <screen -list>
Pour aller à un écran particulier:
<screen -x screen_name>
<screen -r screen_name>
Écran intérieur
Pour terminer l'écran:
give ctrl+d screen will get terminated
Pour détacher l'écran:
give <ctrl+ad>or <screen -d >screen will get detached
Pour rattacher l'écran:
screen -x <screen_name> or screen -r <screen_name>
Pour tuer un écran du terminal:
<screen -X -S screen_name quit>
ou
<screen -X -S screen_name kill>
Vous pouvez utiliser screen_name ou process_id pour exécuter des commandes.
Cela a très bien fonctionné pour moi. Obtenir l'identifiant d'écran via:
screen -r
ou
screen -ls
puis tuez l'écran: kill -9 <screenID>
it devient maintenant un écran mort, puis supprimez-le avec: screen -wipe
Vous pouvez créer une fonction pour tuer toutes les sessions existantes. jetez un oeil à Tuez toutes les sessions d'écran non-enregistrées
pour lister toutes les sessions actives, utilisez screen -r
dans la liste, sélectionnez avec la souris la session qui vous intéresse et collez-la. comme ça
écran -r
Supposons que votre identifiant d'écran ait un motif. Ensuite, vous pouvez utiliser le code suivant pour supprimer tous les écrans connectés à la fois.
result=$(screen -ls | grep 'pattern_of_screen_id' -o)
for i in $result;
do
`screen -X -S $i quit`;
done
Vous pouvez trouver l'ID de processus de l'écran en cours attaché . Je l'ai trouvé identique à l'ID de session que vous pouvez obtenir par commande:screen -ls
Et vous pouvez utiliser la commande suivante pour tuer ce processus:kill [sessionId]
ou
Sudo kill [sessionId]
d'habitude, je ne nomme pas mes occurrences d'écran, donc cela peut ne pas être utile, mais avez-vous essayé screen -r
sans la partie "myscreen"? généralement pour moi, screen -r
affichera les PID de chaque écran, puis je pourrai me reconnecter avec screen -d -r <PID>