src/Pure/System/isabelle_system.scala
changeset 54645 c19c83f49fa5
parent 54039 c931190b8c5c
child 54690 cd88b44623bf
equal deleted inserted replaced
54644:83cb91acebcc 54645:c19c83f49fa5
   300 
   300 
   301     // signals
   301     // signals
   302 
   302 
   303     private val pid = stdout.readLine
   303     private val pid = stdout.readLine
   304 
   304 
       
   305     private def kill_cmd(signal: String): Int =
       
   306       execute(true, "/bin/bash", "-c", "kill -" + signal + " -" + pid).waitFor
       
   307 
   305     private def kill(signal: String): Boolean =
   308     private def kill(signal: String): Boolean =
   306     {
   309     {
   307       try {
   310       try {
   308         execute(true, "kill", "-" + signal, "--", "-" + pid).waitFor
   311         kill_cmd(signal)
   309         execute(true, "kill", "-0", "--", "-" + pid).waitFor == 0
   312         kill_cmd("0") == 0
   310       }
   313       }
   311       catch { case _: InterruptedException => true }
   314       catch { case _: InterruptedException => true }
   312     }
   315     }
   313 
   316 
   314     private def multi_kill(signal: String): Boolean =
   317     private def multi_kill(signal: String): Boolean =