首页
学习
活动
专区
圈层
工具
发布

进程管理:kill 命令之 -9 与 -15

比较常用的就是强制终止信号:9和终止信号:15,另外,中断信号:2其实就是Ctrl + C结束前台进程。...这也就是为什么我们有的时候使用kill命令是没办法"杀死"应用的原因,因为默认的kill信号是SIGTERM(15),而SIGTERM(15)的信号是可以被阻塞和忽略的。...和kill -15相比,kill -9就相对强硬得多,系统会发出SIGKILL信号,他要求接收到该信号的程序应该立即结束运行,不能被阻塞或者忽略。...Process finished with exit code 143 (interrupted by signal 15: SIGTERM) 可见hook被执行,并且给了接收到signal 15信号的提示后...再次运行程序,我们来看看kill -9执行的效果: my app is running my app is running  Process finished with exit code 137 (

7.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kubernetes 问题定位技巧:分析 ExitCode

    退出状态码的区间 必须在 0-255 之间 0 表示正常退出 外界中断将程序退出的时候状态码区间在 129-255,(操作系统给程序发送中断信号,比如 kill -9 是 SIGKILL,ctrl+c...我们把状态码记为 code 当指定的退出时状态码为负数,那么转换公式如下: 256 - (|code| % 256) 当指定的退出时状态码为正数,那么转换公式如下: code % 256 常见异常状态码...Exit Codes With Special Meanings Linux 标准中断信号 Linux 程序被外界中断时会发送中断信号,程序退出时的状态码就是中断信号值加上 128 得到的,比如 SIGKILL...的中断信号值为 9,那么程序退出状态码就为 9+128=137。...11 Core Invalid memory reference SIGPIPE 13 Term Broken pipe: write to pipe

    2.5K21

    Kubernetes 问题定位技巧:分析 ExitCode

    [exitcode-pod] 退出状态码的区间 必须在 0-255 之间 0 表示正常退出 外界中断将程序退出的时候状态码区间在 129-255,(操作系统给程序发送中断信号,比如 kill -9 是...我们把状态码记为 code 当指定的退出时状态码为负数,那么转换公式如下: 256 - (|code| % 256) 当指定的退出时状态码为正数,那么转换公式如下: code % 256 常见异常状态码...Exit Codes With Special Meanings Linux 标准中断信号 Linux 程序被外界中断时会发送中断信号,程序退出时的状态码就是中断信号值加上 128 得到的,比如 SIGKILL...的中断信号值为 9,那么程序退出状态码就为 9+128=137。...11 Core Invalid memory reference SIGPIPE 13 Term Broken pipe: write to pipe

    2.8K32

    一个 Node 进程的死亡与善后

    Exit Code 什么是 exit code? exit code 代表一个进程的返回码,通过系统调用 exit_group 来触发。...,其中 SIGTERM 为 kill 默认发送信号,SIGKILL 为强制杀进程信号 信号 数字 是否可捕获 描述 SIGINT 2 可捕获 Ctrl+C 中断进程 SIGQUIT 3 可捕获 Ctrl...+D 中断进程 SIGKILL 9 不可捕获 强制中断进程(无法阻塞) SIGTERM 15 可捕获 优雅终止进程(默认信号) SIGSTOP 19 不可捕获 优雅终止进程中 在 Node 中,process.on...以下示例监听到 SIGINT 与 SIGTERM 信号,SIGKILL 无法被监听,setTimeout 保证程序不会退出 console.log(`Pid: ${process.pid}`) process.on...可查看终端上一进程的 exit code Node 中 Promise.reject 时 exit code 为 0 Node 中可以通过 process.exitCode = 1 显式设置 exit

    1.5K20

    Python爬虫学习笔记 asyncio+aiohttp 异步爬虫原理和解析

    finished with exit code 0 首先导入 asyncio 这个包,这样才可以使用 async 和 await,然后使用 async 定义了一个 execute 方法,方法接收一个数字参数..., defined at D:/python/pycharm2020/program/test_003.py:3> result=666> After calling loop Process finished..., defined at D:/python/pycharm2020/program/test_003.py:3> result=666> After calling loop Process finished...finished with exit code 0 异步操作的便捷之处在于,当遇到阻塞式操作时,任务被挂起,程序接着去执行其他的任务,而不是傻傻地等待,这样可以充分利用 CPU 时间,而不必把时间浪费在等待...finished with exit code 0 综上所述,如果能将异步请求灵活运用在爬虫中,在服务器能承受高并发的前提下增加并发数量,爬取效率提升是非常可观的。

    4.2K41

    Kubernetes故障排查指南-分析容器退出状态码

    Code 容器退出状态码的区间 [2] 必须在 0-255 之间 0 表示正常退出 外界中断将程序退出的时候状态码区间在 129-255,(操作系统给程序发送中断信号,比如 kill -9 是 SIGKILL...,例如 “除以0”,也可以很复杂,比如空引用或者其他程序 crash Exit Code 137 表明容器收到了 SIGKILL 信号,进程被杀掉,对应kill -9 引发SIGKILL的是docker...Code 139 表明容器收到了 SIGSEGV 信号,无效的内存引用,对应kill -11 一般是代码有问题,或者 docker 的基础镜像有问题 Exit Code 143 表明容器收到了 SIGTERM...信号,终端关闭,对应kill -15 一般对应 docker stop 命令 有时docker stop也会导致Exit Code 137。...不常用的一些 Exit Code Exit Code 126: 权限问题或命令不可执行 Exit Code 127: Shell脚本中可能出现错字且字符无法识别的情况 Exit Code 1 或 255

    4.1K51

    Kubernetes 中容器的退出状态码参考指南

    SIGKILL 信号终止 139 分段错误 (SIGSEGV) 容器试图访问未分配给它的内存并被终止 143 优雅终止 (SIGTERM) 容器收到即将终止的警告,然后终止 255 退出状态超出范围...退出码 139:分段错误 (SIGSEGV) 退出码 139 表示容器收到了来自操作系统的 SIGSEGV 信号。这表示分段错误 —— 内存违规,由容器试图访问它无权访问的内存位置引起。...硬件不兼容或配置错误:如果您在多个库中看到多个分段错误,则主机上的内存子系统可能存在问题或系统配置问题 如果容器以退出码 139 终止怎么办?...State: Running Started: Fri, 15 Oct 2021 12:06:01 +0800 Last State: Terminated Reason: Error...Exit Code: 255 Started: Fri, 15 Oct 2021 11:43:42 +0800 Finished: Fri, 15 Oct 2021 12:05:17 +0800

    2.8K10

    Android tombstone文件是如何生成的

    回到android系统中,当一个Native的进程触发了NULL指针,首先CPU会收到对应异常,然后去执行异常,接着会通过发生SIGSEGV的信号,信号处理函数则会去处理信号,处理信号的过程中,则就会保存进程的现场...可以从logcat中找到对应的信息 libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdb3fb000 in...tid 23051 (.tencent.qqlive), pid 23051 (.tencent.qqlive) 信号的num,比如信号11代表的是SIGSEGV 信号code,SEGV_MAPERR...(buf))); _exit(0); } crash_dump进程则直接通过fork出一个新进程,父进程通过read去等待子进程,而子进程在继续执行crash_dump的任务 // Get...), sender_desc, addr_desc); 示例如下: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdb3fb000 dump_probable_cause

    6.4K21

    【在Linux世界中追寻伟大的One Piece】进程信号

    1.2 -> 技术应用角度的信号 1. 用户输入命令,在Shell下启动一个前台进程。 用户按下Ctrl-C,这个键盘输入产生一个硬件中断,被OS获取,解释成信号,发送给目标前台进程。...信号可以携带声音、图像、数据等多种类型的信息。 信号是进程之间事件异步通知的一种方式,属于软中断。...指定发送某种信号的kill命令可以有多种写法,上面的命令还可以写成kill -SIGSEGV 4568或 kill -11 4568, 11是信号SIGSEGV的编号。...#include void abort(void); 就像exit函数一样,abort函数总是会成功的,所以没有返回值。...3.4 -> 硬件异常产生信号 硬件异常被硬件以某种方式被硬件检测到并通知内核,然后内核向当前进程发送适当的信号。

    34110

    【Linux】解析信号的本质&相关函数及指令的介绍

    ,属于软中断) 信号信号产生了,我们不一定要立即处理它,而是我们在合适的时候处理;我们要有一种能力,将已经到来的信号, 进行暂时保存 1.体现中断的例子:信号终止前台进程> 例如:...我们在一个进程运行过程中,输入ctrl+c 这个键盘输入产生一个硬件中断,被OS获取,解释成信号,发送给目标前台进程;前台进程因为收到信号,进而引起进程退出 [hb@localhost code_test...\n"); sleep(1); } } [hb@localhost code_test]$ ./sig I am a process, I am waiting signal!...raise函数可以给当前进程发送指定的信号(自己给自己发信号) 演示:在后台执行死循环程序,然后用kill命令给它发SIGSEGV信号 【3】abort函数介绍与演示 abort函数使当前进程接收到信号而异常终止...#include void abort(void); 就像exit函数一样,abort函数总是会成功的,所以没有返回值。

    29110
    领券