Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – Shell脚本用Trap获取CTRL Z.大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_874_3@概述 我试图在我的脚本陷阱中获取SIGSTOP CTRL Z信号. 当我的脚本执行时,如果我暂停执行,发送一个SIGSTOP signalCTRL Z,它需要删除我在其中创建的文件并终止执行. 我不明白为什么以下脚本不起作用.但是,更重要的是,正确的方法是什么? #!/bin/bash DIR="temp_folder" trap "rm -r $DIR; kill -SIGINT $$" SIGST
我试图在我的脚本陷阱中获取SIGSTOP CTRL Z信号.

当我的脚本执行时,如果我暂停执行,发送一个SIGSTOP signalCTRL Z,它需要删除我在其中创建的文件并终止执行.@H_874_21@

我不明白为什么以下脚本不起作用.但是,更重要的是,正确的方法是什么?@H_874_21@

#!/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

编辑:@H_874_21@

SIGSTOP不能被捕获,但是SIGTSTP可以被捕获,并且根据我在searching on the internet之后的理解和下面的答案,使用CTRL Z发送信号时捕获是正确的.但是,当我在运行脚本时按CTRL Z它会卡住,这意味着无论后来发送什么信号,脚本都会无休止地执行.@H_874_21@

解决方法

有两个信号你无法捕获*,SIGKILL和SIGSTOP.使用另一个信号.

*:无需修改内核@H_874_21@

IEEE standard:@H_874_21@

大佬总结

以上是大佬教程为你收集整理的linux – Shell脚本用Trap获取CTRL Z.全部内容,希望文章能够帮你解决linux – Shell脚本用Trap获取CTRL Z.所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。