信号组合键:
Ctrl+C # 组合键会产生SIGINT信号
Ctrl+Z # 产生SIGTSTP信号。
trap 说明:
trap命令允许你来指定shell脚本要监视并拦截的Linux信号。trap命令的格式为:trap commands signals。
trap -l > 11.sh ; a=") " ; b="," ; sed -i "s/$a/$b/g" 11.sh ; a="\t" ; b="\n" ; sed -i "s/$a/$b/g" 11.sh ; cat 11.sh
# 通过定义变量的值进行特殊字符替换。执行了两次
名称 默认动作 说明
SIGHUP 终止进程 终端线路挂断
SIGINT 终止进程 中断进程
SIGQUIT 建立CORE文件 终止进程,并且生成core文件
SIGILL 建立CORE文件 非法指令
SIGTRAP 建立CORE文件 跟踪自陷
SIGBUS 建立CORE文件 总线错误
SIGSEGV 建立CORE文件 段非法错误
SIGFPE 建立CORE文件 浮点异常
SIGIOT 建立CORE文件 执行I/O自陷
SIGKILL 终止进程 杀死进程
SIGPIPE 终止进程 向一个没有读进程的管道写数据
SIGALARM 终止进程 计时器到时
SIGTERM 终止进程 软件终止信号
SIGSTOP 停止进程 非终端来的停止信号
SIGTSTP 停止进程 终端来的停止信号
SIGCONT 忽略信号 继续执行一个停止的进程
SIGURG 忽略信号 I/O紧急信号
SIGIO 忽略信号 描述符上可以进行I/O
SIGCHLD 忽略信号 当子进程停止或退出时通知父进程
SIGTTOU 停止进程 后台进程写终端
SIGTTIN 停止进程 后台进程读终端
SIGXGPU 终止进程 CPU时限超时
SIGXFSZ 终止进程 文件长度过长
SIGWINCH 忽略信号 窗口大小发生变化
SIGPROF 终止进程 统计分布图用计时器到时
SIGUSR1 终止进程 用户定义信号1
SIGUSR2 终止进程 用户定义信号2
SIGVTALRM 终止进程 虚拟计时器到时
#!/bin/bash
trap "
echo 'SIGINT信号代码对应:Ctrl-C 退出; trap 是接收命令,句末对应信号代码为:SIGINT,当输入这个信号时,返回指定规则; 此处为打印一句话 '
" SIGINT # 此次是再脚本运行中获取信号
echo "这是一个循环"
i=1 # 初始化变量,初始值为 1
for((i=1;i<=12;i++)) # 定义一个循环,属性为 i 进行约束。
do # 开始循环方法:
sleep 1 # 等待1秒钟 ,才执行下面的命令
echo "开始数数:" $i
done # 结束循环
echo "输入 Ctrl-C 信号,执行的命令已经变更,转交给下面的规则来执行"
trap "echo 'SIGINT 的信号值已被修改:打印命令已变更'" SIGINT
# 修改trap
a=1
while [ $a -le 5 ] # while 循环,变量 a 小于 5
do
echo "开始数数: $a"
sleep 1
a=$[ $a+ 1 ] # a 的值为它本身加 1
done
trap "echo '脚本结束后继续定义命令并执行,此处为打印一句话和时间命令' ; date" EXIT
# 脚本结束获取命令的参数 EXIT
echo "循环结束"
Powered by ddoss.cn 12.0
©2015 - 2025 ddoss
渝公网安备50011302222260号
渝ICP备2024035333号
【实验平台安全承诺书】
小绿叶技术社区,优化网络中,点击查看配置信息
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.110,2025-12-01 17:47:12,Processed in 0.01219 second(s).