如何从脚本发送SIGINT信号到脚本? BASH
我想捕获从ScriptA.sh发送到Script-B.sh的信号
所以在Script-A.sh我使用命令
而在Script-B.sh中,我捕获信号并调用函数Clean
它不工作,而是Script-B.sh立即被杀死,而不执行清洁! 我也注意到,如果我想从终端发送SIGINT到陷阱的任何脚本,ctrl-c将被捕获正确,但是如果我通过命令kill -2 $pid_of_script指定信号, 关于发送SIGINT(ctrl-c VS kill -2 $pid_of_script)的两种方法之间的差异的任何想法,以及我如何从脚本发送SIGINT到另一个? 问候, 调试器
我能够重现您报告的行为.我的假设是,由于脚本是从非交互式
shell(作为脚本的子代)运行的,因此SIGINT(键盘信号)被忽略.
从信息bash:
我发现如果你使用另一个信号(如SIGUSR1)来捕捉和杀死它,它可以工作. 来自man bash的附加信息:
和
和
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |