Bash - Exit parent script from child script
Try:
In parent script:
trap "echo exitting because my child killed me.>&2;exit" SIGUSR1
In child script:
kill -SIGUSR1 `ps --pid $$ -oppid=`; exit
Other way was:
In child script:
kill -9 `ps --pid $$ -oppid=`; exit
But, it is not recommended, because the parent needs to have some information about getting killed & thus do some cleanup if required.
Another way:
Instead of calling the child script, exec
it.
However, as pointed out in other answer, the cleanest way is to exit from parent, after the child returns.
try..
#normal flow
[[ $(check_error_condition) ]] && /some/error_reporter.sh || exit 1
so,
- when the error_reporter will exit with exit status > 0 the parent will terminate too
- if the error_reporter will exit with status = 0 the parent continues...
You don't want stop the parent from a child
(the parents usually don't like this behavior) :), you instead want tell to parent - need stop
and he will stop itself (if want) ;)