如何在Solaris 11外壳脚本中捕获出口? [英] How do I trap EXIT in a solaris 11 shell script?
本文介绍了如何在Solaris 11外壳脚本中捕获出口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
推荐答案
为什么要查看C API手册中的外壳功能?
您绝对可以在Solaris 11外壳(至少是ksh93、bash和sh)下捕获SIGEXIT信号。
$ cat /etc/release
Oracle Solaris 11.1 X86
Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights reserved.
Assembled 19 September 2012
$ cat /tmp/z
#!/bin/ksh
trap "date" exit
sleep 60
echo done
$ /tmp/z
^CThursday, August 29, 2013 10:18:58 PM CEST
$
要澄清的是,在Unix下没有也从来没有信号0或SIGEXIT。它是一个"伪"信号,有两种用途:
通过将其发送给进程(例如:
kill -0 pid
),在这种情况下,目标进程不会收到任何内容,但发送方将通过检查KILL返回值知道该进程是否确实存在。通过将其捕获到外壳脚本中,在这种情况下,无论脚本如何退出,处理程序都将被执行。
这篇关于如何在Solaris 11外壳脚本中捕获出口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文