Если я убью скрипт, выполняющий скрипт, работающий на Java? - PullRequest
1 голос
/ 27 марта 2012

Если я убью изящно (без -9) скрипт, на котором запущен другой скрипт, который, в свою очередь, запускает java, будет ли процесс java получать сигнал уничтожения каскадом?

1 Ответ

1 голос
/ 27 марта 2012

Я видел, что java не отключился должным образом в этом случае, и стал владельцем init (pid 1).Я исправил это в прошлом, записав pid процесса java после его запуска, а затем отправив kill -15 в обработчик сигнала внутри скрипта bash.

jpid=

trap_intr()
{
   [ ! -z "$jpid" ] && kill $jpid
}

trap trap_intr INT TERM

java -cp ... foo &
jpid=$!
wait

ОБНОВЛЕНИЕ: Я забылпоместите java-процесс в фоновый режим, и скрипт bash будет ждать $!

...