| Index: runtime/bin/process.dart
|
| diff --git a/runtime/bin/process.dart b/runtime/bin/process.dart
|
| index b3241fa9b8bd6120be9af66598a11f20389d8e6a..26eebd992c98cc2fbab5c480b0528c8d39f1d989 100644
|
| --- a/runtime/bin/process.dart
|
| +++ b/runtime/bin/process.dart
|
| @@ -91,11 +91,14 @@ class Process {
|
| abstract void set onError(void callback(e));
|
|
|
| /**
|
| - * Kills the process. When the process terminates as a result of
|
| - * calling [kill] [onExit] is called. If the kill operation fails,
|
| + * On Windows, [kill] kills the process, ignoring the [signal] flag. On
|
| + * Posix systems, [kill] sends [signal] to the process. Depending on the
|
| + * signal giving, it'll have different meanings. The default [signal] to
|
| + * send is [:ProcessSignal.SIGTERM:]. When the process terminates as a result
|
| + * of calling [kill] [onExit] is called. If the kill operation fails,
|
| * [onError] is called.
|
| */
|
| - abstract void kill();
|
| + abstract void kill([ProcessSignal signal]);
|
|
|
| /**
|
| * Terminates the streams of a process. [close] must be called on a
|
| @@ -178,6 +181,44 @@ class ProcessOptions {
|
| Map<String, String> environment;
|
| }
|
|
|
| +/**
|
| + * On Posix systems, [ProcessSignal] is used to send a specific signal
|
| + * to a child process, see [:Process.kill:].
|
| + */
|
| +class ProcessSignal {
|
| + static final ProcessSignal SIGHUP = const ProcessSignal._signal(1);
|
| + static final ProcessSignal SIGINT = const ProcessSignal._signal(2);
|
| + static final ProcessSignal SIGQUIT = const ProcessSignal._signal(3);
|
| + static final ProcessSignal SIGILL = const ProcessSignal._signal(4);
|
| + static final ProcessSignal SIGTRAP = const ProcessSignal._signal(5);
|
| + static final ProcessSignal SIGABRT = const ProcessSignal._signal(6);
|
| + static final ProcessSignal SIGBUS = const ProcessSignal._signal(7);
|
| + static final ProcessSignal SIGFPE = const ProcessSignal._signal(8);
|
| + static final ProcessSignal SIGKILL = const ProcessSignal._signal(9);
|
| + static final ProcessSignal SIGUSR1 = const ProcessSignal._signal(10);
|
| + static final ProcessSignal SIGSEGV = const ProcessSignal._signal(11);
|
| + static final ProcessSignal SIGUSR2 = const ProcessSignal._signal(12);
|
| + static final ProcessSignal SIGPIPE = const ProcessSignal._signal(13);
|
| + static final ProcessSignal SIGALRM = const ProcessSignal._signal(14);
|
| + static final ProcessSignal SIGTERM = const ProcessSignal._signal(15);
|
| + static final ProcessSignal SIGCHLD = const ProcessSignal._signal(17);
|
| + static final ProcessSignal SIGCONT = const ProcessSignal._signal(18);
|
| + static final ProcessSignal SIGSTOP = const ProcessSignal._signal(19);
|
| + static final ProcessSignal SIGTSTP = const ProcessSignal._signal(20);
|
| + static final ProcessSignal SIGTTIN = const ProcessSignal._signal(21);
|
| + static final ProcessSignal SIGTTOU = const ProcessSignal._signal(22);
|
| + static final ProcessSignal SIGURG = const ProcessSignal._signal(23);
|
| + static final ProcessSignal SIGXCPU = const ProcessSignal._signal(24);
|
| + static final ProcessSignal SIGXFSZ = const ProcessSignal._signal(25);
|
| + static final ProcessSignal SIGVTALRM = const ProcessSignal._signal(26);
|
| + static final ProcessSignal SIGPROF = const ProcessSignal._signal(27);
|
| + static final ProcessSignal SIGPOLL = const ProcessSignal._signal(29);
|
| + static final ProcessSignal SIGSYS = const ProcessSignal._signal(31);
|
| +
|
| + const ProcessSignal._signal(int this._signalNumber);
|
| + final int _signalNumber;
|
| +}
|
| +
|
|
|
| class ProcessException implements Exception {
|
| const ProcessException([String this.message, int this.errorCode = 0]);
|
|
|