【发布时间】:2014-01-08 21:44:22
【问题描述】:
KornShell (ksh) 脚本如何退出/杀死从另一个 ksh 脚本启动的所有进程?
如果 scriptA.ksh 调用 scriptB.ksh 那么下面的代码就足够了,但是有没有更好的解决方案呢?:
scriptA.ksh:
#call scriptBSnippet
scriptBSnippet.ksh ${a}
scriptB.ksh:
#if error: exit this script (scriptB) and calling script (scriptA)#
kill ${PPID}
exit 1
为了增加复杂性,如果 scriptA 调用 scriptB 而 scriptB 又调用 scriptC,那么如果 scriptC 出现错误,如何退出所有三个脚本?
scriptA.ksh:
#call scriptBSnippet
scriptBSnippet.ksh ${a}
scriptB.ksh:
#if error: exit this script (scriptB) and calling script (scriptA)#
kill ${PPID}
exit 1
scriptC.ksh:
#if error: exit this script (scriptC) and calling scripts (scriptA, scriptB)#
#kill ${PPID}
#exit 1
提前致谢。
【问题讨论】:
标签: shell unix scripting ksh exit-code