Published on

screen 安装使用

Authors

安装

sudo yum install -y screen

使用

进入工程目录

cd /alidata/redis-shake-v2.0.3

新建窗口

screen -S redis-shake

执行命令

screen ./redis-shake.linux -conf=redis-shake.conf -type=sync

分离会话

ctrl+a,d

列出screen

screen -ls

进入screen

screen -r redis-shake

关闭 screen

screen -X -S redis-shake quit

批量删除screen任务的脚本

#!/bin/bash  

# 列出所有Screen会话  
screen -ls

# 询问用户要删除的会话列表  
read -p "请输入要删除的会话列表,用逗号分隔(例如:session1,session2,session3):" sessions_to_delete

# 将用户输入的列表拆分成数组  
IFS=',' read -ra sessions <<< "$sessions_to_delete"

# 循环遍历要删除的会话列表  
for session in "${sessions[@]}"; do
  # 检查会话是否存在  
  #if screen -ls | grep -oP "^$session "; then  
    # 删除会话  
    screen -X -S "$session" quit
    echo "已删除会话:$session"  
  #else  
  #  echo "会话 $session 不存在。"  
  #fi  
done

使用方法:

将上述脚本保存为一个文件,例如 delete_screen_sessions.sh。

打开终端,导航到脚本所在的目录。

运行以下命令来赋予脚本执行权限:

chmod +x delete_screen_sessions.sh

./delete_screen_sessions.sh

脚本将列出所有Screen会话,并提示您输入要删除的会话列表。按照提示输入要删除的会话名称,用逗号分隔。 例如,输入 session1,session2,session3。

脚本将循环遍历输入的会话列表,检查会话是否存在并删除它们。

完成删除后,脚本将显示已删除的会话列表。

请注意,这个脚本只是删除指定的Screen会话,而不会终止或删除与会话关联的进程。如果您希望同时终止进程, 您需要另外处理这些进程。此外,请谨慎使用此脚本,确保您知道要删除的会话名称,以免意外删除重要的会话。