linux – Shell脚本用Trap获取CTRL Z.
发布时间:2020-12-13 23:09:30 所属栏目:Linux 来源:网络整理
导读:我试图在我的脚本陷阱中获取SIGSTOP CTRL Z信号. 当我的脚本执行时,如果我暂停执行,发送一个SIGSTOP signalCTRL Z,它需要删除我在其中创建的文件并终止执行. 我不明白为什么以下脚本不起作用.但是,更重要的是,正确的方法是什么? #!/bin/bashDIR="temp_folde
我试图在我的脚本陷阱中获取SIGSTOP CTRL Z信号.
当我的脚本执行时,如果我暂停执行,发送一个SIGSTOP signalCTRL Z,它需要删除我在其中创建的文件并终止执行. 我不明白为什么以下脚本不起作用.但是,更重要的是,正确的方法是什么? #!/bin/bash DIR="temp_folder" trap "rm -r $DIR; kill -SIGINT $$" SIGSTP if [ -d $DIR ] then rm -r $DIR else mkdir $DIR fi sleep 5 编辑: SIGSTOP不能被捕获,但是SIGTSTP可以被捕获,并且根据我在searching on the internet之后的理解和下面的答案,使用CTRL Z发送信号时捕获是正确的.但是,当我在运行脚本时按CTRL Z它会卡住,这意味着无论后来发送什么信号,脚本都会无休止地执行. 解决方法
有两个信号你无法捕获*,SIGKILL和SIGSTOP.使用另一个信号.
*:无需修改内核 IEEE standard:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |