深入理解Shell中的进程处理与并发编程
在Shell编程中,对进程的有效处理和并发编程是提升脚本性能和健壮性的关键。下面将详细介绍相关的重要概念和技术。
1. 信号处理与 trap 命令
-
disown命令选项 :disown的-h选项和nohup功能相同,它能让Shell在特定情况下阻止挂起信号到达进程。不过与nohup不同的是,你需要自行指定进程输出的去向。此外,disown还有两个实用选项:-a选项在无其他参数时,会将操作应用于Shell拥有的所有作业;-r选项同样如此,但仅针对当前正在运行的作业。 - 重置信号陷阱 :当给
trap命令的参数为破折号-时,会将接收到信号时采取的动作重置为默认,通常是终止进程。以一个邮件程序为例,用户发送完消息后会删除临时文件,此时就无需清理操作,可将信号陷阱重置为默认状态。代码如下:
trap abortmsg INT
trap cleanup TERM
msgfile=/tmp/msg$$
cat > $msgfile
# send the contents of $msgfile to th
超级会员免费看
订阅专栏 解锁全文
1402

被折叠的 条评论
为什么被折叠?



