Beenden Sie alle Bildschirmsitzungen mit demselben Namen

Beenden Sie alle Bildschirmsitzungen mit demselben Namen

Aufgrund eines Fehlers habe ich mehrere Bildschirmsitzungen mit demselben Namen. Wie kann ich diese alle mit einem Befehl entfernen, ohne andere Bildschirmsitzungen zu beeinträchtigen?

Ich habe den Befehl aus diesem Beitrag verwendet: https://stackoverflow.com/questions/1509677/kill-detached-screen-session

Allerdings druckt es die Sitzungen nur aus und entfernt sie nicht:

Was kann ich tun, um diese Sitzungen auf einmal zu entfernen, ohne andere Sitzungen zu beeinträchtigen?

Danke

Antwort1

Folgendes habe ich verwendet, um alle Bildschirme mit dem Namen my_screens_to_kill_named_the_same zu beenden:

# Checking if there are some screen named 
if screen -list | grep -q "my_screens_to_kill_named_the_same"; then
    # Get the list of id of screens named
    ids_to_kill="$(screen -ls | awk '/\.my_screens_to_kill_named_the_same\t/' | awk '{print strtonum($1)}')"
    # Loop on that list and kill all the screens named
    for id_to_kill in ${ids_to_kill}
    do  
        screen -X -S "$id_to_kill" quit
    done
fi

verwandte Informationen