Depende do sinal kill que você está usando:
-
Se você usa
TERM(o equivalente numérico ékill -15), teoricamente, você está deixando o processojavasinalizar seus filhos e sair de maneira correta. -
Se você usa
KILL(kill -9), você não , e você deixou todos os tipos de arquivos temporários, soquetes , etc ... atrás.
Dito isso, tomcat tem seu próprio mecanismo para desligar corretamente, ou seja, uma chamada RMI que você deve usar, diretamente ou usando a interface do seu sistema operacional: service , start , systemctl ou qualquer outro.
Se você não puder fazer isso por qualquer motivo, poderá usar a ajuda de um wrapper como tanukiwrapper ou supervisord , que também tem uma interface web.