首页 > 编程知识 正文

5g信号和4g信号的区别,通讯线和信号线的区别

时间:2023-05-05 01:06:44 阅读:180899 作者:4998

SIGINT、SIGKILL、SIGTERM这3个都结束/结束进程的执行。 但是,有一点不同。

SIGINT生成方法3360键盘Ctrl C生成结果:向当前前台进程和它所属的进程组中的每个进程发送SIGINT信号,然后这些进程运行信号处理程序并结束。 SIGTERM生成方法3360通过kill函数发送本质:而不考虑任何控制字符,这相当于shell kill中没有-9时的pid。 结果:当前进程接收信号,而不接收其子进程。 如果当前进程被kill,则其子进程的父进程将是init进程,即pid为1的进程。 与SIGKILL不同,它是:如果可以忽略、捕获或信号处理程序,就可以成功地终止该过程,并允许清理和关闭文件。 SIGKILL生成方式:与任何控制字符无关,在kill函数中发送本质:相当于shell kill-9 PID。 生成结果3360请注意,当前进程收到此信号时无法捕获。 这意味着进程不能执行信号处理程序,而是发送缺省行为,即直接退出。 所以,kill -9 pid一定能杀死程序。 因此,在进程结束之前无法清理或关闭资源,这是不好的。 注意:因为SIGINT、SIGTERM都是可捕获的,并且都运行信号处理程序,所以根据信号处理程序的逻辑,进程可以

总结SIGQUIT :

在符合POSIX标准的平台上,SIGQUIT是当用户请求进程执行核心转储时,从其控制终端发送给进程的信号。 SIGQUIT通常可以用Control- 诱导。 在Linux上,还可以在Ctrl-4或虚拟控制台上使用SysRq键。

SIGTERM :

SIGTERM是kill或killall命令发送给进程的默认信号。 进程将终止,但与SIGKILL信号不同,进程可以捕获、解释或忽略它。 因此,SIGTERM类似于要求适当终止进程并允许清理和关闭文件。出于这个原因,在关闭期间的许多Unix系统上,init向所有对关闭电源不重要的进程发出SIGTERM,等待几秒钟,然后发出SIGKILL强制终止剩余的任何此类进程。

SIGINT :

在符合POSIX标准的平台上,SIGINT是用户希望中断进程时,从其控制终端发送给进程的信号。 过程控制终端上的用户正在运行的过程键-通常按Control-C,但在某些系统上,在按下“删除”或“中断”键时发送SIGINT。

SIGKILL :

在符合POSIX标准的平台上,SIGKILL是发送到进程的信号,将立即终止。 一旦发送到程序,SIGKILL就会立即结束。 与SIGTERM和SIGINT相反,此信号不能被捕获或忽略,并且接收进程无法在接收到此信号时执行清理。

各种信号汇总SIGHUP结束流程终端线路切断SIGINT结束流程中断流程SIGQUIT确立核心文件结束流程, 生成核心文件创建sigillcore文件非法命令创建SIGtrapcore文件自陷SIGbuscore文件总线跟踪错误创建sigsegvcore文件段非法错误sigfpecore文件浮点异常SIGtrapcore o陷阱SIGKILL进程结束进程SIGPIPE结束进程到了向非领先的管道写入数据的SIGALARM进程结束计时器时, SIGTERM进程结束软件结束信号来自停止SIGSTOP进程非终端的停止信号来自停止SIGTSTP进程的终端的停止信号SIGCONT在SIGURG无视信号I/O紧急信号SIGIO无视信号描述符上为I/O,以无视信号而继续停止的程度OSIGCHLD忽略红绿灯子进程停止或终止时通知父进程的SIGTTOU进程停止后台进程写入终端SIGTTIN进程停止后台进程读取终端SIGXGPU结束进程CPU超时SIG xffu SIGWINCH忽略信号窗口的大小发生了变化。SIGPROF退出进程统计信息将用于计时。届时,SIGUSR1退出进程用户定义信号1SIGUSR2退出进程用户定义信号2SIGVTALRM退出进程虚拟定时器

流程结束后,通知同一session中的每个作业。 此时,这些与控制终端

取消与. SIGINT程序退出(interrupt )信号的关联,并在用户输入INTR字符(通常为Ctrl-C )时发出SIGQUIT和SIGINT,但QUIT字符(通常为Ctrl-) ) 过程是为了接收

SIGQUIT完成后将生成core文件。 在这种意义上,它类似于程序的错误消息

号码. SIGILL执行了非法的指令.通知

常是因为可执行文件本身出现错误, 或者试图执行
数据段. 堆栈溢出时也有可能产生这个信号.SIGTRAP 由断点指令或其它trap指令产生. 由debugger使用.SIGABRT 程序自己发现错误并调用abort时产生.SIGIOT 在PDP-11上由iot指令产生, 在其它机器上和SIGABRT一样.SIGBUS 非法地址, 包括内存地址对齐(alignment)出错. eg: 访问一个四个字长的整数, 但其地址不是4的倍数.SIGFPE 在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢出及除数为0等其它所有的算术的错误.SIGKILL 用来立即结束程序的运行. 本信号不能被阻塞, 处理和忽略.SIGUSR1 留给用户使用SIGSEGV 试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据.SIGUSR2 留给用户使用SIGPIPE Broken pipeSIGALRM 时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该信号.SIGTERM 程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理. 通常用来要求程序自己正常退出. shell命令kill缺省产生这个信号.SIGCHLD 子进程结束时, 父进程会收到这个信号.SIGCONT 让一个停止(stopped)的进程继续执行. 本信号不能被阻塞. 可以用一个handler来让程序在由stopped状态变为继续执行时完成特定的工作. 例如, 重新显示提示符SIGSTOP 停止(stopped)进程的执行. 注意它和terminate以及interrupt的区别: 该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略.SIGTSTP 停止进程的运行, 但该信号可以被处理和忽略. 用户键入SUSP字符时(通常是Ctrl-Z)发出这个信号SIGTTIN 当后台作业要从用户终端读数据时, 该作业中的所有进程会收到SIGTTIN信号. 缺省时这些进程会停止执行.SIGTTOU 类似于SIGTTIN, 但在写终端(或修改终端模式)时收到.SIGURG 有"紧急"数据或out-of-band数据到达socket时产生.SIGXCPU 超过CPU时间资源限制. 这个限制可以由getrlimit/setrlimit来读取/改变SIGXFSZ 超过文件大小资源限制.SIGVTALRM 虚拟时钟信号. 类似于SIGALRM, 但是计算的是该进程占用的CPU时间.SIGPROF 类似于SIGALRM/SIGVTALRM, 但包括该进程用的CPU时间以及系统调用的时间.SIGWINCH 窗口大小改变时发出.SIGIO 文件描述符准备就绪, 可以开始进行输入/输出操作.SIGPWR Power failure

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。