products/sources/formale sprachen/Isabelle/Pure/System image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: false.v   Sprache: SML

Original von: Isabelle©

(*  Title:      Pure/System/kill.ML
    Author:     Makarius

Kill external process group.
*)


signature KILL =
sig
  type signal
  val SIGNONE: signal
  val SIGINT: signal
  val SIGTERM: signal
  val SIGKILL: signal
  val kill_group: int -> signal -> bool
end;

if ML_System.platform_is_windows then ML
\<open>
structure Kill: KILL =
struct

type signal = string;

val SIGNONE = "0";
val SIGINT = "INT";
val SIGTERM = "TERM";
val SIGKILL = "KILL";

fun kill_group pid s =
  let
    val cmd = getenv_strict "CYGWIN_ROOT" ^ "\\bin\\bash.exe";
    val arg = "kill -" ^ s ^ " -" ^ string_of_int pid;
  in
    OS.Process.isSuccess (Windows.simpleExecute ("", quote cmd ^ " -c " ^ quote arg))
      handle OS.SysErr _ => false
  end;

end;
\<close>
else ML
\<open>
structure Kill: KILL =
struct

type signal = Posix.Signal.signal;

val SIGNONE = Posix.Signal.fromWord 0w0;
val SIGINT = Posix.Signal.int;
val SIGTERM = Posix.Signal.term;
val SIGKILL = Posix.Signal.kill;

fun kill_group pid s =
  let
    val arg = Posix.Process.K_GROUP (Posix.Process.wordToPid (LargeWord.fromInt pid));
    val _ = Posix.Process.kill (arg, s);
  in true end handle OS.SysErr _ => false;

end;
\<close>

¤ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ¤





Druckansicht
unsichere Verbindung
Druckansicht
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff