linux里如何停止某个.sh的脚本运行?
centos的系统,假设我这里面有一个名叫 123.sh,用于iptables防火墙的脚本,暂时不设置开机自动执行,全手动执行。但每次要想停止让这个脚本失效的话就需要重启服务器才可以,有没有命令可以直接停止这个123.sh脚本?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
我今天遇到这样的问题,最后还得一个个kill,
pkill 123.sh
谢谢,已解决
你的脚本是无限循环的吗?不是无限循环的执行完命令后会自动退出的!如果是想在执行的过程中结束,可以用 ctrl+c 终止,如果是 后台运行的, ps -ef | grep 脚本名称 ,根据查出来的进程号 直接 kill -9 进程号就好了 不想两部走 给你一个命令 kill -9 ·ps -ef | grep 脚本名称 | awk '{ print $2
}'
把脚本名称替换上就好了!
不能停止脚本吧。只能杀掉脚本启动的进程。
不过你可以写个逆向脚本,杀掉全部跟这个脚本有关的进程,也就是相当于杀掉脚本了。
是不是这样说的?
仔细读题, 这个脚本执行完了难道不退出?
应该问楼主是要恢复脚本运行前的状态还是仅仅是要杀掉进程,要是需要恢复的话,那就写逆向脚本就好了,服务器的防火墙规则不能这么清空的
回复
我这个脚本里面全是禁止的IP段,用kill进程号应该可行,我去试试看,谢谢
ps -ef|grep 123
kill PID
PID是第一条命令出来的进程ID
ps查找,kill杀掉
你好,如果用清空规则的命令,到时候是不是可以重启iptables ,再执行sh 123.sh 就又可以全部恢复规则呢
回复
不需要重启 iptables 服务, 直接执行 123.sh 就又加上规则了
你把防火墙规则清空不就行了么?
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -Z
iptables -t nat -X