tomcat 内存溢出时自动重启

我在catalina.sh中添加了 -XX:OnOutOfMemoryError='./restart.sh'的jvm参数,我的重启脚本两条命令 一条杀掉当前进程 另一条是启动服务ps -ef|grep tomcat|grep java|awk '{print $s2}'|xargs kill -9 ./catalina.sh run这样在内存溢出时显示进程已经杀死,但是执行启动命令时会报地址已经被占用,实际进程确实杀死了,新开一个命令终端执行catalina.sh是可以启动的,但是在原终端因为端口被占用无法启动,谁可以给我分析一下,我想通过脚本新开一个终端执行启动命令但是不知道可行不可行,对linux命令也不熟所以不知道怎么做,求助大神,可惜没币了