src/Pure/System/bash.scala
changeset 73911 a8c5ee444991
parent 73906 f627ffab387b
child 74067 0b1462ce5fda
--- a/src/Pure/System/bash.scala	Thu Jul 01 12:34:42 2021 +0200
+++ b/src/Pure/System/bash.scala	Thu Jul 01 13:46:42 2021 +0200
@@ -47,21 +47,6 @@
 
   type Watchdog = (Time, Process => Boolean)
 
-  def process_signal(group_pid: String, signal: String = "0"): Boolean =
-  {
-    val cmd = new LinkedList[String]
-    if (Platform.is_windows) {
-      cmd.add(Isabelle_System.cygwin_root() + "\\bin\\bash.exe")
-    }
-    else {
-      cmd.add("/usr/bin/env")
-      cmd.add("bash")
-    }
-    cmd.add("-c")
-    cmd.add("kill -" + signal + " -" + group_pid)
-    isabelle.setup.Environment.exec_process(cmd, null, null, false).ok
-  }
-
   def process(script: String,
       cwd: JFile = null,
       env: JMap[String, String] = Isabelle_System.settings(),
@@ -133,8 +118,10 @@
     {
       count <= 0 ||
       {
-        process_signal(group_pid, signal = s)
-        val running = root_process_alive() || process_signal(group_pid)
+        isabelle.setup.Environment.kill_process(group_pid, s)
+        val running =
+          root_process_alive() ||
+          isabelle.setup.Environment.kill_process(group_pid, "0")
         if (running) {
           Time.seconds(0.1).sleep()
           signal(s, count - 1)
@@ -152,7 +139,7 @@
 
     def interrupt(): Unit = Isabelle_Thread.try_uninterruptible
     {
-      process_signal(group_pid, "INT")
+      isabelle.setup.Environment.kill_process(group_pid, "INT")
     }