linux脚本如何在执行过程中获得ctrl+c

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:03:25
rt
我的一个脚步,执行中如果遇到ctrl+c结束的话,有一个子进程a将不会自动结束,会严重影响脚步下一次再次执行。想在脚本内写一个判断。如果在执行过程中遇到ctrl+c,则杀掉该子进程a。
先谢谢大大的指教!
我的第二句话有个错误,是我的一个脚本。
感谢bollyone的回答。
我还是不很明白,我都ctrl+c了,我执行的脚本aa就结束了。我怎么让我的脚本aa还去杀它自己的子进程呢?
我被自己绕死了
请你说明白点好么,我就快笨死了。
如果有其他方法解决也可以告诉的,谢谢各位

很感谢kk的回答,能指导下么?详细点。谢谢!

linux中有trap命令可以拦截到ctrl+c信号并忽略它:
使用命令kill -l可以列出系统的信号名称,通常我们需要忽略的信号有四个,即:HUP, INT, QUIT, TSTP,也就是信号1, 2, 3, 24;
QUIT即信号3就是表示操作CTRL+C;

trap的使用格式为:
trap 操作 信号名称
例如: trap "echo iuioooo" 3 表示捕获到信号3(ctrl+c)时并不会退出而是会 执行命令echo iuioooo;
同样可以trap "" 3 表示什么也不操作。
使用 trap 3 来使其恢复默认设置。

昨天刚使用过。
trap命令可以完成,你man一下。
kill -l可以列出所有的信号

你可以多写几个判断嘛。把脚本的层次写深点。