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

Node.js 全局对象(下)

序号 事件 & 描述 1 exit当进程准备退出触发。 2 beforeExit当 node 清空事件循环,并且没有其他安排触发这个事件。...10 Internal JavaScript Run-Time FailureJavaScript的源码启动 Node 进程出错误,非常罕见,仅会在开发 Node 才会有。...属性 & 描述 1 stdout标准输出流。 2 stderr标准错误流。 3 stdin标准输入流。 4 argvargv 属性返回一个数组,由命令行执行脚本的各个参数组成。...7 env返回一个对象,成员当前 shell 的环境变量 8 exitCode进程退出代码,如果进程优通过 process.exit() 退出,不需要指定退出码。...会让 node 退出生成一个核心文件。 2 chdir(directory)改变当前工作进程的目录,如果操作失败抛出异常。

1.4K20

【Linux修炼】11.进程的创建、终止、等待、程序替换

#include pid_t fork(void); //返回值:进程中返回0,父进程返回进程id,出错返回-1 那么调用fork函数之前只有一个进程,当进程调用fork,...而对于我们指定指令的随意选项造成的错误:No such or diectory就就对应着数值2错误。 总结一下: ./mytest ———— 运行一个进程 echo ? ———— ?...执行: 这样就能很好的观察终止信号和进程退出码。 3.若代码没跑完结果异常了:(进程中添加一个错误) 不同的错误通过信号的值可找到对应的错误。...如果子进程出异常了,那么父进程也能够抓到,为了演示这种情况我们进程中增加一个野指针的错误: 此时的退出0,代表的是进程退出码,而终止信号是11号错误,对于异常的进程退出,他的退出码是没有意义的...问:对于execle函数和main函数,进程调用的时候是谁先被调用呢? 我们之前的代码中,main函数通常是这样的参数:(VS上没有是因为编译器在编译自动生成) 答:exec先被调用。

6.1K00
您找到你想要的搜索结果了吗?
是的
没有找到

【Linux】进程控制:理解什么是进程创建,进程终止,进程等待 | 进程替换

一.进程创建 fork函数创建进程,新进程进程,原进程进程; fork函数包含在头文件 进程调用fork,当控制转移到内核中的fork代码后,内核做: 分配新的内存块和内核数据结构给进程...: 代码运行完毕,结果正确 代码运行完毕,结果不正确 代码异常终止:异常退出本质是收到了对应的信号 进程退出的常用方法 return exit _exit 那么谁会关心一个进程运行情况呢?...答案是父进程进程退出,会成为僵尸进程,需要父进程的回收。 那么父进程期望获得进程退出得哪些信息呢?...即父进程会检查一次看进程有没有退出,没有则返回0,此时父进程可以做一些自己的事,而不是一味的等待进程退出进程退出前循环以上的过程,直到进程退出,返回 >0 的一个数,返回负数则表示等待失败...rf test other1exe other2exe  定义一个伪目标 all ,all 的依赖文件就是你所需要生成的文件。

21410

Linux系统-进程控制

Linux进程控制 零、前言 一、进程创建 1、fork函数 2、fork返回值 写拷贝 3、fork用法 4、fork失败 二、进程终止 1退出2退出方法 1) 调用_exit函数 2)调用...; } 结果: 用法2:fork返回后调用exec函数替换进程 注:在下文有着重讲解 4、fork失败 fork本质就是向系统要资源,当某个资源不够则会发生fork失败 失败原因: 1...查看的是最近函数的退出码,一般来说都是0 2退出方法 进程退出场景: 代码运行完毕,结果正确,退出0 代码运行完毕,结果不正确,逻辑存在问题,退出非0 代码异常终止,层序崩溃...ID 如果设置了选项optionsWNOHANG,而调用中waitpid发现没有已退出进程可收集,则返回0;如果调用中出错,则返回-1,这时errno会被设置成相应的值以指示错误所在...,并将进程的状态设置非R 当到一定程度,系统会唤醒进程进程由等待队列转为运行队列,同时状态变为R 四、进程替换 1、替换原理 用fork创建进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支

1.5K30

【Linux】Linux进程控制 --- 进程创建、终止、等待、替换、shell派生子进程的理解…

所以fork结束之后,执行父子进程的共享代码,是可以出现两个分支语句同时执行的情况的,那是因为父子进程执行共享代码的时候,分别进入了不同的分支语句,而我们看到的程序的运行结果就是两个分支语句竟然同时执行了...至于平常我们不写return 0也没什么事,是因为C99规定编译器要自动在生成的可重定向目标二进制文件中加入return 0,但是vc6.0并不支持这样的标准,因为他是98年的产品,所以平常的写代码过程中...0 — 退出码起作用,标识错误信息 代码没执行完毕,程序出现异常 — 退出码无意义 以上就是进程退出的三种情况。 2. 进程退出的时候,可以从main函数return返回,以此结束进程。...2. exec系列的函数只有调用失败的时候才有返回值,这个返回值是-1,那为什么exec系列的函数没有调用成功的返回值呢?...下面是运行结果,进程被替换为ls进程,ls进程正常退出退出0,终止信号为0. 故意使得程序替换失败,则进程退出也是按照我们设定的退出码所退出的。 3.程序替换原理 1.

14.5K30

【Linux】进程控制

进程控制 一、进程创建 1. fork 函数创建进程 Linux 中 fork 函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程进程,而原进程进程。...二、进程终止 1. 进程退出场景 代码运行完毕,结果正确 代码运行完毕,结果不正确 代码异常终止 下面我们逐一分析上面进程退出的三种场景。...而退出码当中,0 代表成功,但是当退出非 0 的时候,"我们"需要关心它是为什么失败的,这个"我们"指的是父进程;所以这时候就应该有不同的数字表明不同的原因,比如 1 代表某种失败原因,2 也代表另一种失败原因...错误码 我们程序中可能会调用多个库函数或者接口,但调用它们的时候可能也会出错出错的时候就会设置一个错误码,即 errno,它会记录我们的程序中最后一次库函数或者系统接口出错错误码;注意这个错误码是...错误码通常是衡量一个库函数或者是一个系统调用一个函数的调用情况 退出码通常是一个进程退出的时候它的退出结果 它们的共同特点都是,当失败的时候,来衡量函数、进程出错出错详细原因。

10310

【嵌入式】基于ARM的嵌入式Linux开发总结

(3)Makefile文件编写示例: 一个工程,2个源文件testa.c ,testb.c,一个头文件testb.h,编译arm-linux-gcc,生成的可执行文件test,需支持代码优化、打印警告信息...-1,并置errno,通常文件关闭出错是不常见的,但也不是不可能的情况,他别是关闭通过网络访问的文件就会出现这种情况。...实际上是进程中执行fork()函数,父进程会复制一个进程,而且父子进程代码从fork()函数的返回开始分别在两个地址空间中同时运行,从而使两个进程分别获得所属fork()函数的返回值,其中进程中的返回值是进程进程号...通常0表示正常结束;其他的数值表示出现了错误进程非正常结束。 实际编程,可以用wait系统调用接收进程的返回值,进行相应的 处理。...通常0表示正常结束;其他的数值表示出现了错误进程非正常结束。 实际编程,可以用wait系统调用接收进程的返回值,进行相应的 处理。

18.3K20

【Linux】Linux进程控制>进程创建&&进程终止&&进程等待&&进程程序替换

1.进程创建 1.1 fork函数 linux中fork函数非常重要的函数,它从已存在进程中创建一个新进程。...新进程进程,而原进程进程 #include pid_t fork(void); 返回值:自进程中返回0,父进程返回进程id,出错返回-1 进程调用fork,当控制转移到内核中的...例如进程从fork返回后,调用exec函数 1.4 fork调用失败的原因 、 系统中有太多的进程 实际用户的进程数超过了限制 2.进程终止 2.1 进程退出场景 代码运行完毕,结果正确...查看进程退出码 从main返回 调用exit _exit 错误码有两种情况: 0:成功 非0:失败 查看错误码对应的错误描述: #include #include <unistd.h...所以_exit(-1)终端执行$?

10410

进程控制

进程创建 fork函数初识 linux中fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程进程,而原进程进程。...写拷贝 通常,父子代码共享,父子不写入时,数据也是共享的,当任意一方试图写入,便以写拷贝的方式各自一份副本。具体见下图: ?...fork调用失败的原因 系统中有太多的进程 实际用户的进程数超过了限制 进程终止 进程退出场景 代码运行完毕,结果正确 代码运行完毕,结果不正确 代码异常终止 进程常见退出方法 正常终止(可以通过 echo...所以_exit(-1)终端执行$?发现返回值是255。...1,这时errno会被设置成相应的值以指示错误所在; 参数: pid: Pid=-1,等待任一个进程

70320

Linux进程控制——Linux进程终止

重识进程创建 1.1 fork函数 我们之前提到过,创建进程使用的是fork函数,它从已存在进程中创建一个新进程。新进程进程,而原进程进程。...#include pid_t fork(void); // 返回值:自进程中返回0,父进程返回进程id,出错返回-1 进程调用fork,当控制转移到内核中的fork代码后,...进程终止 进程退出场景: 代码运行完毕,结果正确 代码运行完毕,结果不正确 代码异常终止 前面二者都是正常退出,而最后则是异常退出 2.1 main的退出码 我们之前写代码中,main函数只能return...返回的是上一个进程错误码 2.2 C语言的错误错误码和退出码: 错误码通常是衡量一个库函数或者是一个系统调用一个函数的调用情况 退出码通常是一个进程退出的时候,他的退出结果 二者都是当失败的时候...,错误码errno就会被系统自动赋值 可以通过错误码来判断代码运行的情况 2.3 进程异常终止 当我们的代码出异常了,也就是进程异常终止了,退出码还有意义吗?

7610

8-26 Android学习ing

1.应用的响应性(Responsive) Android中,应用的响应性被活动管理器(Activity Manager)和窗口管理器(Window Manager)这两个系统服务所件事。...如果Activity要处理一件比较耗时的工作,应该交给线程完成,否则会因为主线程被阻塞,后面的用户输入事件因没能在5秒内响应,导致应用出现ANR对话框 2.广播接收者(Broadcast Receiever...当onReceive()方法10秒内没有执行完毕,Android会认为该程序无响应,所以BroadcastReciever里边不能做一些比较耗时的操作,否则会弹出ANR错误对话框。...BroadcastReceiver一旦结束,此时BroadcastReceiver所在的进程很容易系统需要内存被优先杀死,因为它属于空进程(没有任何活动组件的进程)。...使用startService()方法启动服务,访问者与服务之间没有关联,即使访问者退出了,服务仍然运行

46730

Linux进程控制

#include pid_t fork(void); 运行成功,父进程返回进程ID,进程饭0;运行出错返回-1。...fork调用的神奇之处在于被调用一次,能够返回两次,返回结果可能有3种情况: 父进程中:fork返回新创建的进程的ID 进程中:fork返回0 出现错误:fork返回负值 fork出错的原因有2:...使用exec函数族,一般要加上错误判断语句,因为exec函数易由多种原因运行失败: 找不到文件或路径:errno被设置ENOENT 数组argv和envp忘记使用NULL结束:errno被设置EFAULT...10次失败尝试后,终于收集到了退出进程。...: 宏定义 含义 WIFEXITED(status) 进程正常退出,返回一个非零值,否则返回零 WEXITSTATUS(status) 当WIFEXITED,此宏才可用,返回该进程退出代码

2K30

【Linux】进程控制

**这是我们进程地址空间时候所说的。**这也很好理解 fork常用法:1.一个父进程希望复制自己,使父子进程同时执行不同的代码段。2.一个进程要执行一个不同的程序。...---- 二、退出码 main函数的return 0系统上叫做进程退出对应的退出码,标记进程执行的结果是否正确 我们如何找到写的代码完成的任务的结果如何?进程退出码,可用echo $?...非0表示失败失败有多种情况,非0是几,表示不同的错误,不同的数字,表示不同的错误。同时,退出码一般都有对应的退出码的文字描述,可以自定义也可以使用系统的映射关系。...>比如之前学过的strerror,我们直接来看一看就知道了: ---- 三、进程终止 进程退出情况:1.代码运行完结果正确,2.代码运行完结果不正确,3.代码运行完程序异常,退出码无意义这也很好理解...进程为什么要等待 1.父进程通过进程等待的方式,回收进程资源 2.获取进程退出信息 进程等待的方法 wait 返回值:成功返回被等待进程pid,失败返回-1

18430

【团队分享】刀锋铁骑:常见Android Native崩溃及错误原因

一、什么是Android的C/C++ NativeCrash Android上的Crash可以分两种: 1、Java Crash java代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出...2、Native Crash 通过NDK,使用C/C++开发,导致进程收到错误信号,发生Crash,Android 5.0之前进程直接退出(闪退) , Android 5.0之后会弹“程序已崩溃”的对话框...寄存器快照:进程收到错误信号保存下来的寄存器快照,其中PC寄存器存储的就是下个要运行的指令(出错的位置)。...解决方法 使用指针前加以判断,如果空,则是不可访问的。 Bug评述 空指针是很容易出现的一种bug,代码量大,赶开发进度很容易出现,但是它也很容易被发现和修复。 2....GCC编译-O1以上的优化行为下,使用-D_FORTIFY_SOURCE=level进行编译(其中level=12,level代表的是检测级别的不同,数值越大越严格)。

4.1K62

Linux:进程地址空间、进程控制(一.进程创建、进程终止、进程等待)

进程包含了程序的代码、数据、堆栈等信息,以及操作系统其分配的资源。每个进程都有自己独立的地址空间和执行流,可以独立运行、调度和管理。进程是操作系统中的基本执行单位,是程序执行过程中的动态体现。...如果父进程不关心子进程退出状态,可以将这个参数设为 NULL。 返回值 返回值大于零成功,返回已终止进程进程ID。 失败,返回 -1,并设置全局变量 errno 以指示错误原因。...\n"); sleep(5); return 0; } 代码一共15秒 0~5秒内进程与父进程都存在,5秒后进程结束 5~10秒内:父进程正常运行进程僵尸。...如果调用中出错,则返回-1,这时errno会被设置成相应的值以指示错误所在 参数 pid: Pid=-1,等待任一个进程。与wait等效。...如果在任意时刻调用wait/waitpid,进程存在且正常运行,则进程可能阻塞。 如果不存在该进程,则立即出错返回。

4600

探索进程控制第一弹(进程终止、进程等待)

进程创建 初识fork函数 linux中fork函数非常重要的函数,它从已存在进程中创建一个新进程。新进程进程,而原进程进程。...例如进程从fork返回后,调用exec函数 fork调用失败的原因 系统中有太多的进程 实际用户的进程数超过了限制 写拷贝 通常,父子代码共享,父子再不写入时,数据也是共享的,当任意一方试图写入,便以写拷贝的方式各自一份副本...\n"); return 0; } 运行结果: 在上述代码中,先进入父进程,然后进程运行五次后进程退出,然后休眠10秒,处于僵尸状态,紧接着进程等待,然后父进程退出,程序运行结束。...由此可以看出,等待会解决进程的僵尸问题。 将上述代码sleep(10)代码注释掉,进程运行5秒后直接退出,立马执行父进程等待。如果子进程没有退,其实父进程一直阻塞等待。...ID; 如果设置了选项WNOHANG,而调用中waitpid发现没有已退出进程可收集,则返回0; 如果调用中出错,则返回-1,这时errno会被设置成相应的值以指示错误所在; 参数: [

11310

JavaWeb项目——基于Servlet实现的在线OJ平台 (项目问答+代码详解)

通过这个错误提示就可以提示用户代码中哪一行出现错误。 这就是关于当前的一个在线OJ项目的最基本的最核心流程。 预先知识 请问 处理用户同时提交代码是 多进程处理还是 多线程处理?...,同时会返回一个int整数退出码,这个退出码就表示进程的执行结果是否ok,如果子进程代码执行完了正常退出,此时返回的是0,如果子进程代码执行了一半异常退出(抛出异常),此时返回的退出码就非0 编译运行我们用一个...private int error; 约定如果 error0 表示编译运行都 ok error1 表示编译出错 error2 表示运行出错 错误信息 private String reason...; 表示出错的提示信息 如果error1 编译出错了,reason就放编译错误信息 如果error2 运行出错了,reason就放运行错误信息 运行程序得到的标准输出的结果 private..., 如果空,那么就编译正常 如果不为空那么就编译错误,我们就将标准错误信息还有退出码返回给Answer 对象,返回。

94320

获取 NodeJS 程序退出

[a02013211197499180114405912bbff5~tplv-k3u1fbpfcp-zoom-1.image] 前言 想要退出正在运行的 NodeJS 程序,我们既可以通过 Ctrl +...2: 未使用(由 Bash 保留用于内置误用) 3 内部 JavaScript 解析错误:NodeJS 引导过程中的内部 JavaScript 源代码导致解析错误。...4 内部 JavaScript 评估失败:NodeJS 引导过程中的内部 JavaScript 源代码评估未能返回函数值。 这是极其罕见的,通常只能在 NodeJS 本身的开发过程中发生。...6 非函数的内部异常句柄:存在未捕获的异常,但内部致命异常句柄不知何故设置非函数,无法调用。 7 内部异常句柄运行失败:存在未捕获的异常,并且内部致命异常句柄函数本身在尝试处理出错误。...10 内部 JavaScript 运行失败:NodeJS 引导过程中的内部 JavaScript 源代码调用引导函数出错误。 这是极其罕见的,通常只能在 NodeJS 本身的开发过程中发生。

3.4K10

【Linux】详解进程终止&&进程等待

当我们进程代码和数据加载到内存并和进程地址空间建立映射关系,如果数据的内容不允许被修改(比如说常量字符串),对应数据页表中的映射条目的权限就会被设置'r',表示该数据是只读的,不能被修改。...错误码只会记录系统提供的函数的执行情况。 2.2、进程退出的场景 进程提出的场景与三种: 1进程代码执行完了,结果是正确的。 2进程代码执行完了,结果不正确。...我们的代码进程中,在任意地方调用exit都表示进程退出。...采用非阻塞的方法等待,进程退出成功返回进程的pid,进程还在继续自己的工作返回0,进程出错返回小于0的数。...因为进程退出1,status的第24个比特位被设置1,没有收到退出信号,所以status后8个比特位都为0,所以status等于2的8次方等于256。

15010

【Linux】开始掌握进程控制吧!

2 进程创建 2.1 fork函数初识 linux中fork函数非常重要的函数,它从已存在进程中创建一个新进程。新进程进程,而原进程进程。...2.4 fork常规用法 一个父进程希望复制自己,使父子进程同时执行不同的代码段。例如,父进程等待客户端请求,生成进程来处理请求。 一个进程要执行一个不同的程序。...常见进程退出场景: 代码运行完毕,结果正确(正常结束进程代码运行完毕,结果不正确 代码异常终止,出现异常提前退出 就像:VS编程运行的时候,如果崩溃了 — 操作系统发现你的进程做了不应该做的事情,OS...父进程通过进程等待的方式,回收进程资源,获取进程退出信息 也就是说,任何进程退出都要被父进程进行等待,不然进程处于僵尸进程就会造成内存泄漏!!!...来测试一下(进程退出码设置11 #include 2 #include

7910
领券