用于退出的命令是什么?(即终止Node.js进程)
当前回答
按Ctrl+C两次或退出。
>
(To exit, press ^C again or type .exit)
>
其他回答
在命令行中,.ext是您想要的:
$ node
> .exit
$
它记录在REPL文档中。REPL(Read Eval Print Loop)是Node命令行的名称。
在正常程序中,使用process.ext([code])。
我有一个应用程序,我想:
向用户发送电子邮件退出并返回错误代码
我必须将process.ext(代码)挂接到退出事件处理程序,否则邮件将不会被发送,因为调用process.ext(代码)直接杀死异步事件。
#!/usr/bin/nodejs
var mailer = require('nodemailer');
var transport = mailer.createTransport();
mail = {
to: 'Dave Bowman',
from: 'HAL 9000',
subject: 'Sorry Dave',
html: 'Im sorry, Dave. Im afraid I cant do <B>THAT</B>.'
}
transport.sendMail(mail);
//process.exit(1);
process.on('exit', function() { process.exit(1); });
ctrl+C终止当前进程ctrl+C两次是退出REPL shellctrl+c退出REPL SHELL
正如@Dominic所指出的,抛出未捕获的错误是更好的做法,而不是调用process.ext([code]):process.exitCode=1;抛出新错误(“我的模块xx条件失败”);
请注意,不建议使用process.ext([number])。
调用process.exit()将强制进程尽快退出即使仍有异步操作等待尚未完全完成,包括I/O操作process.stdout和process.stderr。在大多数情况下,实际上不需要调用process.exit()显式。如果出现以下情况,Node.js进程将自行退出在事件循环中没有附加的工作待定。这个process.exitCode属性可以设置为告诉进程哪个退出当进程正常退出时使用的代码。例如,以下示例说明了process.exit()方法,可能导致打印到stdout的数据截断和丢失://这是一个*不*做什么的例子:if(someConditionNotMet()){打印用途到标准输出();进程.退出(1);}原因是问题是因为在Node.js中写入process.stdout有时是异步的,可能会在Node.js事件循环。然而,调用process.exit()会强制在向stdout进行额外写入之前退出的进程执行。代码应该设置process.exitCode,并通过避免调度事件循环的任何附加工作://如何正确设置退出代码//进程优雅地退出。if(someConditionNotMet()){打印用途到标准输出();process.exitCode=1;}
推荐文章
- 检查已安装的angular-cli版本?
- 如何将Blob转换为JavaScript文件
- 如何用Express/Node以编程方式发送404响应?
- 如何安装包从github回购在纱线
- 什么时候.then(success, fail)被认为是承诺的反模式?
- 自动HTTPS连接/重定向使用node.js/express
- 在nodejs http中body在哪里。得到回应?
- 如何在猫鼬排序?
- Nodemon错误:“已达到文件监视器数量的系统限制”
- 如何使webpack开发服务器运行在端口80和0.0.0.0使其公开访问?
- 如何在node.js模块中访问和测试内部(非导出)函数?
- 如何将base64编码的映像保存到磁盘?
- 在用nodejs和express创建的REST API中设置响应状态和JSON内容的正确方法
- 如何获得请求路径与表达请求对象
- 节点和错误:EMFILE,打开的文件太多