首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

运行Node.js命令不会产生输出,也不会退出

是因为Node.js是一个基于事件驱动的非阻塞I/O模型的运行环境。当我们在命令行中运行Node.js命令时,Node.js会启动一个事件循环,然后开始执行我们的代码。

在事件循环中,Node.js会不断地检查事件队列,如果有事件需要处理,就会从队列中取出事件并执行相应的回调函数。如果事件队列为空,Node.js会继续等待新的事件加入队列。

当我们运行一个没有输出的Node.js命令时,它可能是一个没有任何输出的脚本文件,或者是一个交互式的Node.js REPL(Read-Eval-Print Loop)环境。在这两种情况下,Node.js会按照顺序执行代码,但不会产生任何输出。

如果我们希望在Node.js命令中产生输出,可以使用console.log()函数或其他相关的输出函数来打印信息到控制台。例如,我们可以在代码中添加console.log("Hello, World!")来输出"Hello, World!"这个字符串。

至于为什么Node.js命令不会退出,这是因为Node.js的事件循环会一直运行,直到没有事件需要处理时才会退出。这意味着我们的Node.js程序会一直运行,除非我们显式地调用process.exit()函数来退出程序。

总结起来,运行Node.js命令不会产生输出,也不会退出是因为Node.js是基于事件驱动的非阻塞I/O模型的运行环境,它会按照顺序执行代码,但不会产生任何输出。如果我们希望产生输出,可以使用console.log()函数或其他相关的输出函数。而Node.js命令不会退出是因为Node.js的事件循环会一直运行,直到没有事件需要处理时才会退出。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Docker 常用命令整合!!!带你一起理解和复习每个操作命令!!!带操作图,不会能看懂的!!

本文整理出在Docker中常用的命令,一是可以做一个备忘录的作用,二是可以作为一个复习的文章。 Docker镜像、容器、日志等等相关命令都涵盖在内,文内带有操作图,不难的哦。...帮助命令 docker --help 可以查看到所有Docker 命令,不过对英语不太好的同学不太友善哈。...,强行删除,但并不会删除正在运行的容器[已亲测]) ##强制删除(针对基于镜像有运行的容器进程) docker rmi -f redis 批量删除(不同镜像之间用空格间隔) docker rmi -f...最后的小数点意思是在当前目录下, 即Dockerfile所在目录 三、Docker 容器相关命令 3.1、查看容器 1、查看正在运行的容器 docker ps 2、查看正在运行的容器的ID docker...ps -q 3、查看正在运行+历史运行过的容器 docker ps -a 4、获取正在运行的容器redis的 IP docker inspect --format='{{range .NetworkSettings.Networks

54910

node.js】本地模式安装express:express 不是内部或外部命令不是可运行的程序或批处理文件。

http://blog.csdn.net/mcpang/article/details/26612865 今天闲来无事想起了Node.js,因此到网上下载了一个node.js的安装程序进行安装。...其中: 安装程序:node-v0.11.13-x64.msi PC系统:Windows 7 自定义安装路径:D:\TOOLS\NodeJs nodejs 安装   node 不是内部命令或外部命令...,不是可运行的程序或批处理文件。...再次尝试执行: D:\TOOLS\NodeJs>express -V 'express' 不是内部或外部命令不是可运行的程序或批处理文件。...考虑本地模式要修改环境变量,而在使用express命令时跟这两个文件会不会有关系呢?.bin会不会就是两者的区别?

1.5K10
  • 如何在Node.js中编写和运行您的第一个程序

    虽然代码中必须使用引号来指示文本是字符串,但它们不会打印到屏幕上。 确认该程序有效后,让它更具互动性。 第3步 - 通过命令行参数接收用户输入 每次运行Node.js“Hello,World!”...程序时,它都会产生相同的输出。 为了使程序更具动态性,让我们从用户那里获得输入并将其显示在屏幕上。 命令行工具通常接受修改其行为的各种参数。...通过键入CTRL+X保存并退出nano ,当提示保存文件时,按Y 现在,当您运行此程序时,您提供了如下命令行参数: node arguments.js hello world 输出如下所示: Output...像以前一样保存并退出,并使用node命令运行environment.js文件。...当您通过命令运行此程序时,您将不会注意到stdout和stderr流之间的区别,但最好通过stderr流打印错误,以便更容易识别和处理其他程序, 可以分辨出来。

    8.7K30

    Dcoker 容器环境下 Node.js 应用程序的优雅退出

    编写一个简单的 Node.js 应用程序实现优雅退出 Docker 容器环境下程序优雅退出测试 Dcoker 容器下应用无法接收退出信号原因分析 Dcoker 容器环境下构建平滑的 Node.js 应用程序多种实现方案...我们的程序默认是不会去监听这项工作的,需要显示的监听该信息,在资源释放完成之后执行 process.exit(0) 退出进程。...S+ 0 $ 请求测试 $ curl http://localhost:30010/delay $ kill -15 70990 # 中断进程 此时服务并不会马上退出...接下来我会分析下产生这个情况的原因 $ curl http://localhost:30010/delay curl: (52) Empty reply from server Dcoker 容器下应用无法接收退出信号原因分析...容器内 NPM 的启动机制 这里我要分析下在容器环境和非容器环境下 NPM 的启动有什么不同,另外我们在启动 Node.js 应用程序的时候通常会将启动命令写在 package.json 的 scripts

    1.3K10

    Docker 容器环境下 Node.js 应用程序的优雅退出

    编写一个简单的 Node.js 应用程序实现优雅退出 Docker 容器环境下程序优雅退出测试 Docker 容器下应用无法接收退出信号原因分析 Docker 容器环境下构建平滑的 Node.js 应用程序多种实现方案...我们的程序默认是不会去监听这项工作的,需要显示的监听该信息,在资源释放完成之后执行 process.exit(0) 退出进程。...S+ 0 $ 请求测试 $ curl http://localhost:30010/delay $ kill -15 70990 # 中断进程 此时服务并不会马上退出...接下来我会分析下产生这个情况的原因 $ curl http://localhost:30010/delay curl: (52) Empty reply from server Docker 容器下应用无法接收退出信号原因分析...容器内 NPM 的启动机制 这里我要分析下在容器环境和非容器环境下 NPM 的启动有什么不同,另外我们在启动 Node.js 应用程序的时候通常会将启动命令写在 package.json 的 scripts

    1.8K00

    Node.js从入门到深入——Node.js配置开发

    启动文件目录,一般是在“C:\Program Files\nodejs\node.exe”,将node.exe启动添加到windows的环境变量中; 4、        运行cmd,进入dos操作命令窗口...,linux如果使用了ctrl+z退出,再次启动的时候就会出现端口被占用的问题,解决方法使用ctrl+c退出,同时可以netstat -nap | grep node查看监听的端口的进程id,使用kill...5、        更改node.js文件,服务器立即响应 app.js输出的是hello world,但现在我想输出hello baby,难道要重启node.js的启动文件吗?...6、        Windows下如何实现后台运行 有时候我们希望我们的程序一直运行,同时在ctrl+c退出的情况下继续运行。...7、        使用node运行js文件时,服务器是不会自动监控文件更改,然后重启的,这里需要使用到一些github用户开发的node.js模块。

    3K40

    Nodejs进阶:如何玩转子进程(child_process)

    如果运行没有出错,那么error为null。如果运行出错,那么,error.code就是退出代码(exist code),error.signal会被设置成终止进程的信号。...(比如CTRL+C时发送的SIGINT) 风险项 传入的命令,如果是用户输入的,有可能产生类似sql注入的风险,比如 exec('ls hello.txt; rm -rf *', function(error...场景1:命令本身不存在,创建子进程报错。 场景2:命令存在,但运行过程报错。...此外,nodejs监听了SIGINT和SIGTERM信号,也就是说,nodejs收到这两个信号时,不会立刻退出,而是先做一些清理的工作,然后重新抛出这两个信号。...SIGTERM:terminate,程序结束信号,该信号可以被阻塞和处理,通常用来要求程序自己正常退出。shell命令kill缺省产生这个信号。

    3.3K50

    nodejs的基础概念

    REPL 命令:   Ctrl+c 退出当前终端。   Ctrl+c 连续两次,退出Node REPL   Ctrl+d 退出 Node REPL   向上/向下键-查看输入的历史命令。   ...tab 键 列出当前命令   .help 列出使用命令   .break 退出多行表达式   .clear 退出多行表达式   .save filename 保存当前的 Node REPL 会话到指定文件...Node.js的每一个API都是异步的(这里个人认为表达的意思应该是每一个API都是支持回调。参考第三部分),并作为一个独立线程运行,使用异步函数调用,并处理并发。...Node.js基本上所有的事件机制都是用设计模式中的观察者模式实现的。 Node.js单线程类似进入一个while(true)的事件循环,直到没有事件,观察者退出,每个异步事件都生成一个事件观察者。...当error被触发时,EventEmitter规定如果没有响应的监听器,Node.js会把它当做异常,退出程序并输出错误信息。

    89520

    一次 Docker 容器内大量僵尸进程排查分析

    孤儿进程:不能同年同月同日生,不会同年同月同日死 接下来问一个问题,父进程挂掉时,子进程会挂掉吗? 想象现实中的场景,父亲不在了,儿子还可以活吗?答案是肯定的。...对应于进程,父进程退出时,子进程会继续运行不会一起共赴黄泉。 一个父进程已经终止的进程被称为孤儿进程(orphan process)。...使用 ps 命令查看进程的状态,显示为 "Z" 或者 "Z+" 表示这是一个僵尸进程,如下所示。...32 pts/6 00:00:00 npm ya 32262 32252 0 16:32 pts/6 00:00:00 node run.js 与 node 一样,npm 不会处理僵尸子进程回收...如下程序连续调用三次 fork() 调用后会产生多少新进程?

    1.8K40

    Node.js CLI 工具最佳实践

    configstore conf 1.4 提供多彩的体验 ✅ 正确: 在 CLI 工具中使用颜色来突出显示一些信息,并且提供降级方案,进行检测,自动退出以免输出乱码。...命令行工具输出彩色文本可带来更丰富的体验和更多的交互。但是,不受支持的终端可能会在屏幕上以乱码信息的形式输出。此外,CLI 可能用于不支持彩色输出的连续集成中。...将要安装的依赖项固定到特定版本,因此,即使这些依赖项发布了较新的版本,不会安装它们。这将让您有责任保持对依赖项的关注,了解依赖项中任何安全相关的修复,并通过定期发布 CLI 工具进行安全更新。...3 通用性 本节将介绍使 Node.js CLI 与其他命令行工具无缝集成有关的最佳实践,并遵循 CLI 正常运行的约定。 本节将回答以下问题: 我可以导出 CLI 的输出以便于分析吗?...产生错误的命令 有时候我们需要运行 Node.js 程序的进程,假设您有如下的脚本: // program.js #!

    3.3K10

    深入理解Node.js的进程与子进程

    从文档出发,管中窥豹,进一步认识和学习 process 模块:如何处理命令参数?如何处理工作目录?如何处理异常?如何处理进程退出?...process 的标准流对象深入理解 process.nextTick如何处理命令参数?命令行参数指的是 2 个方面:传给 node 的参数。...setTimeout(() => { console.log("我不会执行");});process.exit(0);正确安全的处理是,设置 process.exitCode,并允许进程自然退出。...setTimeout(() => { console.log("我不会执行");});process.exitCode = 1;beforeExit 事件用于处理进程退出的事件有:beforeExit...在调用 'exit' 事件监听器之后,Node.js 进程将立即退出,从而导致在事件循环中仍排队的任何其他工作被放弃。process 的标准流对象process 提供了 3 个标准流。

    2K21

    Nodejs进阶:如何玩转子进程(child_process)

    如果运行没有出错,那么error为null。如果运行出错,那么,error.code就是退出代码(exist code),error.signal会被设置成终止进程的信号。...(比如CTRL+C时发送的SIGINT) 风险项 传入的命令,如果是用户输入的,有可能产生类似sql注入的风险,比如 exec('ls hello.txt; rm -rf *', function(error...场景1:命令本身不存在,创建子进程报错。 场景2:命令存在,但运行过程报错。...此外,nodejs监听了SIGINT和SIGTERM信号,也就是说,nodejs收到这两个信号时,不会立刻退出,而是先做一些清理的工作,然后重新抛出这两个信号。...SIGTERM:terminate,程序结束信号,该信号可以被阻塞和处理,通常用来要求程序自己正常退出。shell命令kill缺省产生这个信号。

    4.2K80

    NodeJS模块研究 - process

    从文档出发,管中窥豹,进一步认识和学习 process 模块: 如何处理命令参数? 如何处理工作目录? 如何处理异常? 如何处理进程退出?...process 的标准流对象 深入理解 process.nextTick 如何处理命令参数? 命令行参数指的是 2 个方面: 传给 node 的参数。...setTimeout(() => { console.log("我不会执行"); }); process.exit(0); 正确安全的处理是,设置 process.exitCode,并允许进程自然退出...setTimeout(() => { console.log("我不会执行"); }); process.exitCode = 1; beforeExit 事件 用于处理进程退出的事件有:beforeExit...在调用 ‘exit’ 事件监听器之后,Node.js 进程将立即退出,从而导致在事件循环中仍排队的任何其他工作被放弃。 process 的标准流对象 process 提供了 3 个标准流。

    1.5K20

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    单线程的一些说明 Node.js 虽然是单线程模型,但是其基于事件驱动、异步非阻塞模式,可以应用于高并发场景,避免了线程创建、线程之间上下文切换所产生的资源开销。...(‘exit’,cb)进程推出监听 三个标准流: process.stdout 标准输出、 process.stdin 标准输入、 process.stderr 标准错误输出 process.title...每次启动 Node.js 程序都需要在命令窗口输入命令 node app.js 才能启动,但如果把命令窗口关闭则Node.js 程序服务就会立刻断掉。...当使用该选项时,kill命令试图杀死所留下的子进程。但这个命令不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。...kill 命令用于终止进程 例如:kill-9[PID]-9 表示强迫进程立即停止 这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。

    1.1K30

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    单线程的一些说明 Node.js 虽然是单线程模型,但是其基于事件驱动、异步非阻塞模式,可以应用于高并发场景,避免了线程创建、线程之间上下文切换所产生的资源开销。...(‘exit’,cb)进程推出监听 三个标准流: process.stdout 标准输出、 process.stdin 标准输入、 process.stderr 标准错误输出 process.title...每次启动 Node.js 程序都需要在命令窗口输入命令 node app.js 才能启动,但如果把命令窗口关闭则Node.js 程序服务就会立刻断掉。...当使用该选项时,kill命令试图杀死所留下的子进程。但这个命令不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。...kill 命令用于终止进程 例如:kill-9[PID]-9 表示强迫进程立即停止 这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。

    2.5K10

    分享 10 道 Nodejs 进程相关面试题

    父进程创建子进程之后,父进程退出了,但是父进程对应的一个或多个子进程还在运行,这些子进程会被系统的 init 进程收养,对应的进程 ppid 为 1,这就是孤儿进程。通过以下代码示例说明。...设置 options.detached 为 true 可以使子进程在父进程退出后继续运行(系统层会调用 setsid 方法),参考 options_detached,这是第二步操作。...运行 daemon.unref() 退出父进程,参考 options.stdio,这是第四步操作。...process.pid, daemon.pid); daemon.unref(); } startDaemon() daemon.js 文件里处理逻辑开启一个定时器每 10 秒执行一次,使得这个资源不会退出..."]); child.stdout.pipe(process.stdout); // 将子进程的输出做为当前进程的输入,打印在控制台 $ node execfile 简单的命令行交互 Interview8

    1.3K40

    分享 10 道 Nodejs 进程相关面试题

    父进程创建子进程之后,父进程退出了,但是父进程对应的一个或多个子进程还在运行,这些子进程会被系统的 init 进程收养,对应的进程 ppid 为 1,这就是孤儿进程。通过以下代码示例说明。...设置 options.detached 为 true 可以使子进程在父进程退出后继续运行(系统层会调用 setsid 方法),参考 options_detached,这是第二步操作。...运行 daemon.unref() 退出父进程,参考 options.stdio,这是第四步操作。...process.pid, daemon.pid); daemon.unref();} startDaemon() daemon.js 文件里处理逻辑开启一个定时器每 10 秒执行一次,使得这个资源不会退出..."]);child.stdout.pipe(process.stdout); // 将子进程的输出做为当前进程的输入,打印在控制台 $ node execfile简单的命令行交互 Interview8

    1.1K10

    分享 10 道 Nodejs 进程相关面试题

    父进程创建子进程之后,父进程退出了,但是父进程对应的一个或多个子进程还在运行,这些子进程会被系统的 init 进程收养,对应的进程 ppid 为 1,这就是孤儿进程。通过以下代码示例说明。...设置 options.detached 为 true 可以使子进程在父进程退出后继续运行(系统层会调用 setsid 方法),参考 options_detached,这是第二步操作。...运行 daemon.unref() 退出父进程,参考 options.stdio,这是第四步操作。...process.pid, daemon.pid); daemon.unref(); } startDaemon() daemon.js 文件里处理逻辑开启一个定时器每 10 秒执行一次,使得这个资源不会退出..."]); child.stdout.pipe(process.stdout); // 将子进程的输出做为当前进程的输入,打印在控制台 $ node execfile 简单的命令行交互 Interview8

    61110

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    单线程的一些说明 Node.js 虽然是单线程模型,但是其基于事件驱动、异步非阻塞模式,可以应用于高并发场景,避免了线程创建、线程之间上下文切换所产生的资源开销。...(‘exit’,cb)进程推出监听 三个标准流: process.stdout 标准输出、 process.stdin 标准输入、 process.stderr 标准错误输出 process.title...每次启动 Node.js 程序都需要在命令窗口输入命令 node app.js 才能启动,但如果把命令窗口关闭则Node.js 程序服务就会立刻断掉。...当使用该选项时,kill命令试图杀死所留下的子进程。但这个命令不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。...kill 命令用于终止进程 例如:kill-9[PID]-9 表示强迫进程立即停止 这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。

    93820

    怎样防止同事用 QQ 邮箱提交公司代码?

    目前我们的代码仓库是基于 Node.js 开发的,所以 Node.js 的项目配置 Git Hook 比较流行的解决方案就是 husky,所以这里我用 husky 来做了。...首先安装下 husky: yarn add husky 然后配置一个 Node.js 的 prepare 命令,这个命令可以在装完包 Node.js 包之后自动执行,所以 prepare 命令就配置成...那就输出一些错误提示就好了,比如这里就提示请使用 git config —-local 命令来配置用户名和邮箱,之所以用-—local 是因为不想该配置影响全局的 Git 配置,所以这个配置只针对该仓库生效...,然后 exit 1 就触发异常退出,程序运行终止,从而不会触发 commit 命令了。...按照这个提示说的,然后我运行下配置命令: git config --global user.name "Qingcai Cui" git config --global user.email "xxxx

    76310
    领券