mirror of
https://github.com/denoland/deno.git
synced 2024-11-01 09:24:20 -04:00
886f330ec8
Following JS ops were moved to separate files in cli/js/ops directory: - io - process - worker_host - web_worker - plugins - timers - signal - permissions
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
|
import { sendSync, sendAsync } from "./dispatch_json.ts";
|
|
import { assert } from "../util.ts";
|
|
|
|
/** Send a signal to process under given PID. Unix only at this moment.
|
|
* If pid is negative, the signal will be sent to the process group identified
|
|
* by -pid.
|
|
* Requires the `--allow-run` flag.
|
|
*/
|
|
export function kill(pid: number, signo: number): void {
|
|
sendSync("op_kill", { pid, signo });
|
|
}
|
|
|
|
interface RunStatusResponse {
|
|
gotSignal: boolean;
|
|
exitCode: number;
|
|
exitSignal: number;
|
|
}
|
|
|
|
export async function runStatus(rid: number): Promise<RunStatusResponse> {
|
|
return await sendAsync("op_run_status", { rid });
|
|
}
|
|
|
|
interface RunRequest {
|
|
args: string[];
|
|
cwd?: string;
|
|
env?: Array<[string, string]>;
|
|
stdin: string;
|
|
stdout: string;
|
|
stderr: string;
|
|
stdinRid: number;
|
|
stdoutRid: number;
|
|
stderrRid: number;
|
|
}
|
|
|
|
interface RunResponse {
|
|
rid: number;
|
|
pid: number;
|
|
stdinRid: number | null;
|
|
stdoutRid: number | null;
|
|
stderrRid: number | null;
|
|
}
|
|
|
|
export function run(request: RunRequest): RunResponse {
|
|
assert(request.args.length > 0);
|
|
return sendSync("op_run", request);
|
|
}
|