Update: 更新Shell
This commit is contained in:
@@ -51,7 +51,7 @@ export default class Shell extends EventsBase {
|
|||||||
lines[i] = iconv_lite.decode(Buffer.from(lines[i], 'binary'), encoding);
|
lines[i] = iconv_lite.decode(Buffer.from(lines[i], 'binary'), encoding);
|
||||||
}
|
}
|
||||||
data = lines.join('\n');
|
data = lines.join('\n');
|
||||||
// data = this.#decode_(data);
|
data = this.#decode_(data);
|
||||||
this.runEvent('error', data);
|
this.runEvent('error', data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -74,6 +74,7 @@ export default class Shell extends EventsBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async exec(command, options = {}) {
|
async exec(command, options = {}) {
|
||||||
|
this.#killed_ = false;
|
||||||
this.#shell_ = exec(command, { ...this.#defaultOptions_, ...options });
|
this.#shell_ = exec(command, { ...this.#defaultOptions_, ...options });
|
||||||
this.#addEventsListener_();
|
this.#addEventsListener_();
|
||||||
const result = await this.#waitUntilClosed_();
|
const result = await this.#waitUntilClosed_();
|
||||||
@@ -81,6 +82,7 @@ export default class Shell extends EventsBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async execFile(file, args, options = {}) {
|
async execFile(file, args, options = {}) {
|
||||||
|
this.#killed_ = false;
|
||||||
this.#shell_ = execFile(file, args, { ...this.#defaultOptions_, ...options });
|
this.#shell_ = execFile(file, args, { ...this.#defaultOptions_, ...options });
|
||||||
this.#addEventsListener_();
|
this.#addEventsListener_();
|
||||||
const result = await this.#waitUntilClosed_();
|
const result = await this.#waitUntilClosed_();
|
||||||
@@ -95,7 +97,7 @@ export default class Shell extends EventsBase {
|
|||||||
this.#shell_.stdin.end();
|
this.#shell_.stdin.end();
|
||||||
this.#shell_.stdout.end();
|
this.#shell_.stdout.end();
|
||||||
if (CURRENT_PLANTFORM === 'win32') {
|
if (CURRENT_PLANTFORM === 'win32') {
|
||||||
exec(`taskkill /pid ${this.#shell_.pid} /f /t`, (error) => {
|
exec(`taskkill /pid ${this.#shell_.pid} /f /t`, { encoding: 'utf-8' }, (error) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
reject(error);
|
reject(error);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user