shell脚本常用操作

查询net-tools软件包有没有安装,没有则安装

if rpm -q net-tools &>/dev/null; then
    echo "sysstat is already installed."
else
    echo "sysstat is not installed!"
    yum -y install net-tools
fi

检测文件是否存在并读取文件中的数值

复制代码
echo "检查病毒进程是否存在"
if [ -f /tmp/.X11-unix/11 ] 
then 
     echo "The file 11 exist"
     var=`cat /tmp/.X11-unix/11`
     echo “pid1 is ” $var
     kill -9 $var
     echo  $var "病毒进程1已被杀死" 
else
     echo "病毒进程1不存在"
fi
复制代码

查询进程并杀之

ps -ef | grep tracepath | grep -v grep | awk '{print $2}'| sed -e "s/^/kill -9 /g" | sh
echo "删除tracepath进程"
netstat -anp|grep 119.205.235.58 |awk '{printf $7}'|cut -d/ -f1| sed -e "s/^/kill -9 /g" | sh
echo "杀挖矿进程"

检查有没有添加定时任务,没有则删除原有的某条定时任务并添加,重载crond服务。

复制代码
echo "添加定时任务"
if [ `grep -c "shadu.sh" /var/spool/cron/root` -ne '0' ]
then
     echo "已存在定时任务"
     sed -i '/systemd-private/d' /var/spool/cron/root
else
     echo "定时任务不存在添加定时任务"
     echo '*/1 * * * * /home/shadu.sh' >> /var/spool/cron/root
     sleep 1 
     service crond reload
     echo "重启定时任务服务"
fi
复制代码

 ps后匹配8位字符串

ps -ef  | grep -v grep | awk '{print $8}' | grep "^\w\w\w\w\w\w\w\w$"

 根据进程的名字 kill 进程

kill -9 $(ps -ef|grep 4xLrwMXd |gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')

 根据进程名称获取第一个进程号(可能有多个)

ps -ef|grep httpd |gawk '$0 !~/grep/ {print $2}' |tr -s '\n' | awk 'NR==1'

进程名字查进程号然后查看文件

lsof -p $(ps -ef|grep httpd |gawk '$0 !~/grep/ {print $2}' |tr -s '\n' | awk 'NR==1') | grep ".X11"

 

posted @   非专业编程  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示