首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用spawn暂停节点js中的进程

问如何使用spawn暂停节点js中的进程
EN

Stack Overflow用户
提问于 2017-07-26 14:32:44
回答 4查看 3K关注 0票数 4

有没有办法,如何在节点js中暂停进程?

代码语言:javascript
复制
          const { spawn } = require('child_process');

          const process = spawn("run.cmd");

          process.stdout.on('data', (data) => {
            console.log(`stdout: ${data}`);
          });

          process.stderr.on('data', (data) => {
            console.log(`stderr: ${data}`);
          });

          process.on('close', (code) => {

          });

我想给这样的人打电话:process.pause(),process.continue()。

或者一些使用cmd的系统调用?

我用的是windows。

谢谢你的帮助。

EN

回答 4

Stack Overflow用户

发布于 2019-07-30 09:46:23

您可以找到进程的PID,并使用linux命令按PID暂停/恢复进程。

您可以将代码更改为process = spawn(cmd & echo $! > txt)。

它会将您的命令进程PID保存到txt,然后您可以使用fs读取PID。

现在有了PID,运行exec()暂停进程kill -STOP <PID>或恢复已停止的命令kill -CONT <PID>。

这两个都是unix命令,应该可以正常工作。

票数 3
EN

Stack Overflow用户

发布于 2020-11-24 05:12:38

我特别制作了一个库来暂停/恢复Windows上的Node.js进程,ntsuspend。

代码语言:javascript
复制
const { spawn } = require('child_process');
const ntsuspend = require('ntsuspend');
const process = spawn("run.cmd");
ntsuspend.suspend(process.pid);
ntsuspend.resume(process.pid);

如果您正在使用Linux或MacOS

代码语言:javascript
复制
const { spawn } = require('child_process');
const ntsuspend = require('ntsuspend');
const process = spawn("run.cmd");
process.kill('SIGSTOP');
process.kill('SIGCONT');
票数 1
EN

Stack Overflow用户

发布于 2017-07-26 14:45:10

发送一个信号:read this

但是什么信号呢?read this

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45319145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档