src/Pure/General/ssh.scala
changeset 80218 875968a3b2f9
parent 80217 e0606fb415d2
child 80220 928e02d0cab7
equal deleted inserted replaced
80217:e0606fb415d2 80218:875968a3b2f9
   205       if (control_path.nonEmpty) run_ssh(opts = "-O exit").check
   205       if (control_path.nonEmpty) run_ssh(opts = "-O exit").check
   206     }
   206     }
   207 
   207 
   208 
   208 
   209     /* remote commands */
   209     /* remote commands */
       
   210 
       
   211     override def kill_process(group_pid: String, signal: String): Boolean = {
       
   212       val script =
       
   213         make_command(args_host = true,
       
   214           args = "kill -" + Bash.string(signal) + " -" + Bash.string(group_pid))
       
   215       Isabelle_System.bash(script).ok
       
   216     }
   210 
   217 
   211     override def execute(remote_script: String,
   218     override def execute(remote_script: String,
   212       progress_stdout: String => Unit = (_: String) => (),
   219       progress_stdout: String => Unit = (_: String) => (),
   213       progress_stderr: String => Unit = (_: String) => (),
   220       progress_stderr: String => Unit = (_: String) => (),
   214       redirect: Boolean = false,
   221       redirect: Boolean = false,
   513     def read(path: Path): String = File.read(path)
   520     def read(path: Path): String = File.read(path)
   514     def write_file(path1: Path, path2: Path): Unit = Isabelle_System.copy_file(path2, path1)
   521     def write_file(path1: Path, path2: Path): Unit = Isabelle_System.copy_file(path2, path1)
   515     def write_bytes(path: Path, bytes: Bytes): Unit = Bytes.write(path, bytes)
   522     def write_bytes(path: Path, bytes: Bytes): Unit = Bytes.write(path, bytes)
   516     def write(path: Path, text: String): Unit = File.write(path, text)
   523     def write(path: Path, text: String): Unit = File.write(path, text)
   517 
   524 
       
   525     def kill_process(group_pid: String, signal: String): Boolean =
       
   526       isabelle.setup.Environment.kill_process(Bash.string(group_pid), Bash.string(signal))
       
   527 
   518     def execute(command: String,
   528     def execute(command: String,
   519         progress_stdout: String => Unit = (_: String) => (),
   529         progress_stdout: String => Unit = (_: String) => (),
   520         progress_stderr: String => Unit = (_: String) => (),
   530         progress_stderr: String => Unit = (_: String) => (),
   521         redirect: Boolean = false,
   531         redirect: Boolean = false,
   522         settings: Boolean = true,
   532         settings: Boolean = true,