In this article, we will see how to kill all detached screen session on Linux or Unix based systems. Screen utility provides a powerful feature of managing task and processes by detaching the session and allow it to run on background while you can perform other activities on foreground. This is mainly useful when you have to perform a long running task on remote servers such as taking database backup where you don’t want the session to disconnect in between. Detaching session is a very flexible feature that allows you to perform multiple task from a single terminal interface.
You can always reattach the session to terminal and continue with your task. However sometimes you might face a scenario where you would like to kill all detached sessions running on the background. Here we will see how you can kill all the detached sessions on Linux or Unix based systems.
Also Read: How to Install PowerShell on Ubuntu or Debian
Before looking into how to kill detached sessions, let’s first create few sessions.
cyberithub@ubuntu:~$ screen -d -m top cyberithub@ubuntu:~$ screen -d -m watch ps -ef
As you can see above, we are creating two screen sessions. Below are the options used with above screen commands:-
To list all running screen sessions, run screen -ls
command as shown below.
cyberithub@ubuntu:~$ screen -ls There are screens on: 182568..ubuntu (23/03/24 06:16:37 PM IST) (Detached) 179434..ubuntu (23/03/24 06:15:39 PM IST) (Detached) 2 Sockets in /run/screen/S-cyberithub.
To list only the detached screen sessions, run screen -ls | grep Detached
command as shown below.
cyberithub@ubuntu:~$ screen -ls | grep Detached 182568..ubuntu (23/03/24 06:16:37 PM IST) (Detached) 179434..ubuntu (23/03/24 06:15:39 PM IST) (Detached)
To kill a detached session, run screen -S -X quit
command. For example, in our case we would like to kill a session with id 182568
, so in that case we have to run screen -S 182568 -X quit
command as shown below.
cyberithub@ubuntu:~$ screen -S 182568 -X quit
Here are the details of the options used with above screen command:-
Before killing a detached screen session, if you are looking to reattach then run screen -r
command. For example here we are reattaching session id 182568
by using screen -r 182568
command. Here -r
option is used to reattach a session. Then killing that session by pressing q
. Some of the sessions can also be killed by running exit
or Ctrl+c
command.
cyberithub@ubuntu:~$ screen -r 182568 [screen is terminating]
If you are looking to kill all the detached sessions only, then you can easily do it by using below command.
cyberithub@ubuntu:~$ screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill &> /dev/null
Now if you check again, you will see there are no active screen sessions running.
cyberithub@ubuntu:~$ screen -ls No Sockets found in /run/screen/S-cyberithub.
2024 was the GenAI year. With new and more performant LLMs and a higher number…
Canonical’s Kubernetes LTS (Long Term Support) will support FedRAMP compliance and receive at least 12…
Welcome to the Ubuntu Weekly Newsletter, Issue 878 for the week of February 2 –…
At Canonical, we firmly believe that delivering an outstanding, customer-centric support experience is impossible without…
I want to share how to install osTicket v1.14 for Ubuntu 20.04 server. osTicket written…
Now I want to share how to install WordPress on ubuntu 20.04 server. WordPress is…