CentOS删除除了最近5个JAR程序外的所有指定Java程序

帮我写一个shell脚本,ps -eo pid,lstart,cmd --sort=-start_time | grep "pgz-admin"查到的结果,返回的所有进程PID,第六个之上的,全部kill

当然,你可以创建一个简单的Shell脚本来完成这个任务。以下是一个例子:

复制代码
#!/bin/bash

# 获取包含 "pgz-admin" 字符串的进程的PID列表
pids=$(ps -eo pid,lstart,cmd --sort=-start_time | grep "pgz-admin" | awk '{print $1}')

# 获取PID列表中第六个及之后的PID
pids_to_kill=$(echo "$pids" | awk 'NR>5')

# 杀死所有符合条件的进程
for pid in $pids_to_kill; do
    echo "Killing process with PID: $pid"
    kill -9 "$pid"
done

echo "Processes killed."

无注释版本

复制代码
#!/bin/bash

pids=$(ps -eo pid,lstart,cmd --sort=-start_time | grep "pgz-admin" | awk '{print $1}')

pids_to_kill=$(echo "$pids" | awk 'NR>6')

for pid in $pids_to_kill; do
    echo "Killing process with PID: $pid"
    kill -9 "$pid"
done

echo "Processes killed."

这个脚本执行以下操作:

  1. 使用 ​ps​ 命令获取包含 "pgz-admin" 字符串的进程的PID列表。
  2. 使用 ​awk​ 提取PID列。
  3. 使用 ​awk 'NR>5'​ 从PID列表中获取第六个及之后的PID。
  4. 使用 ​kill -9​ 命令杀死所有符合条件的进程。

请确保在运行脚本之前你有足够的权限,因为​​kill -9​​是强制终止进程的操作。在脚本中使用 ​​echo​​ 语句,可以看到被杀死的进程的PID。

不包含颜色,将5改为6,或者用以下

复制代码
#!/bin/bash

# 获取包含 "pgz-admin" 字符串的进程的PID列表
pids=$(ps -eo pid,lstart,cmd --sort=-start_time | grep --color=never "pgz-admin" | awk '{print $1}')

# 获取PID列表中第六个及之后的PID
pids_to_kill=$(echo "$pids" | awk 'NR>5')

# 杀死所有符合条件的进程
for pid in $pids_to_kill; do
    echo "Killing process with PID: $pid"
    kill -9 "$pid"
done

echo "Processes killed."

在这个脚本中,grep --color=never 选项用于禁用颜色输出。这样可以确保grep输出不会受到颜色的影响。

相关推荐
吴声子夜歌6 小时前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡
lisanmengmeng6 小时前
NRPE 添加命令(一)
linux·运维·服务器
pt10436 小时前
CML网络仿真入门-2:使用CML模拟网络实验环境
运维·网络协议
树下水月7 小时前
Typora破解
linux·服务器·前端
沫璃染墨8 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
wuminyu8 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
深念Y8 小时前
rime-雾凇拼音-配置记录
linux·junit·软件·拼音·kde
HAHAXX88 小时前
电商RPA批量上架通用方案:一套流程如何同时跑通拼多多、抖店、淘宝和跨境平台
java·运维·rpa
零基础1239 小时前
LLM Agent 驱动的物模型构建:从设备手册到边缘接入的自动化实践
运维·人工智能·经验分享·python·自动化
星夜夏空999 小时前
网络编程(5)—— Reactor实现(v3)
服务器·网络·php