Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: How to trap EXIT like in bash



On Apr 4,  7:43pm, Thorsten Kampe wrote:
}
} elif [[ $shell = zsh ]]
} then
}     trap "echo trapped; exit" INT HUP TERM
} fi
} 
} Then Zsh does actually ignore the kill (TERM) signal.

It doesn't ignore the signal, but it may not run the trap either.  You
need the trap on EXIT in there:

    trap "echo trapped; exit" EXIT INT HUP TERM

That's because it matters whether the shell itself gets the signal, or
an external job that's been run *by* the shell gets the signal.

E.g. if I run a script that executes "sleep" and kill the sleep, the
TERM trap is not run but the EXIT trap will be.  If I kill the shell
itself, the TERM trap is run but the EXIT trap is not.



Messages sorted by: Reverse Date, Date, Thread, Author