ananas 10.05.2011 21:57
Tips & tricks — Аналог atexit на bash
при очередной оптимизации задумался, а как реализовать аналог atexit в шеловских скриптах. перехват SIGTERM, SIGINT не всегда срабатывал, да и выглядел неспортивно. помогло чтение man bash. итак
1 |
|
при выходе из скрипта выведется "exiting". ну а что напихать в сам скрипт и конкретную функцию - решайте сами
В том, что atexit сработает в любом случае при выходе из любого места скрипта по exit.
Например:
напечатает "exiting" при любом значении $1, то есть не важно по какой команде прошёл выход, всегда выполнится заданный код. Полезно, например, для подчистки мусора за скриптом (ну там временные файлы удалить, чё).
Например:
1 2 3 4 5 6 7 8 |
напечатает "exiting" при любом значении $1, то есть не важно по какой команде прошёл выход, всегда выполнится заданный код. Полезно, например, для подчистки мусора за скриптом (ну там временные файлы удалить, чё).
не только по exit. функция выполнится по окончании работы интерпретатора. т.е. если кильнуть процесс извне - atexit тоже отработает
В чём отличие от:
?