handle os signal