一起talk C栗子吧(第八十一回:C语言实例--进程停止)



各位看官们,大家好,上一回中咱们说的是进程相互排斥的样例,这一回咱们说的样例是:进程停止。闲话休提,言归正转。

让我们一起talk C栗子吧!

我们在前面的章回中介绍了怎样创建进程,只是没有介绍停止进程,已经有部分看官在提问了。怎样停止进程呢?看官莫急,今天咱们就一起来说说怎样停止进程。

停止进程的方法有以下几种

  • 进程正常结束时停止;
  • 使用exit函数停止进程。
  • 强制停止进程;
  • 进程执行过程中错误发生后停止进程。

接下来,我们分别介绍这几咱停止的方法:

进程正常结束时停止

我们写的程序中都有一个main函数,在main函数中使用return语句给系统返回一个数值。这时候拥有main函数的进程就会停止。

该方法是最常见的方法,可能是我们见多了,反而认为非常寻常。

俗话说:物以稀为贵说是就是这个道理。

以下是一个简单的代码结构:

int main()
{
     //do something
     return 0;        //通过返回停止进程
 }

使用exit函数停止进程

在程序中直接调用该函数就能够,传递给它的參数一般是1。表示程序发生异常而停止。比方,我们在函数中经常会推断指针是否为空,假设为空则停止执行程序。

if(NULL == p)
    exit(1);   //通过exit函数停止进程

强制停止进程

在终端中使用kill命令发送一个信号给进程。比如:

kill 34567

上面的样例表示给PID为34567的进程发送一个TERM信号,该进程收到信号后就会停止。

当然了。能够使用kill命令发送其他信号给进程,以便 让进程停止。我们仅仅是在样例中使用了默认的信号。

此外。Linux提供了kill系统调用,当我们想在代码中强制停止某个进程时,能够使用它发送停止信号给某个进程。进而强制停止进程。比如:

kill(34567,SIGKILL)

上面的样例表示停止PID为34567的进程。

使用该方法时须要拥有管理员权限。否则没有权限给进程发信号。

进程执行过程中错误发生后停止进程

当在进程执行的过程中发生严重错误时,系统会停止该进程。该方法是系统使用的,我们不能使用。我们要做的就是检查各种可能的异常情况。避免严重错误的发生,比方内存泄漏。

看官们,进程停止的方法是非经常见并且easy理解,所以我们就不写代码了。

各位看官,关于进程停止的样例咱们就讲到这里。欲知后面还有什么样例,且听下回分解 。


时间: 2025-01-05 05:31:30

一起talk C栗子吧(第八十一回:C语言实例--进程停止)的相关文章

一起talk C栗子吧(第十一回:C语言实例--文件组织结构)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们,上一回中咱们说的是最小公倍数的例子,这一回咱们不说具体的例子,咱们说一下C例子中的文件 组织方法以及实际开发软件时的"文件组织结构方法". 看官们,在我前面写的例子中,只有一个源文件(也就是通常看到的.c文件).我没有单独写头文件(也 就是通常看到的.h文件),而是把头文件的内容放到了源文件中.主要是这些例子中关于头文件的内容不 多,如果单

一起talk C栗子吧(第二回:C语言实例--判断闰年)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C语言实例吧! 看官们,上一回中咱们给小说做了个开头,这一回咱们正式说C例子,这回说的例子是:判断闰年. 看官们,闰年是什么?这个是地理天文方面的概念.如果不明白的话,自己百度去,哈哈.我也偷一把懒. 看官们,判断闰年的方法有两种: 如果某年能被4整除,但是不能被100整除,那么这一年就是闰年. 如果某年能被400整除,那么这一年就是闰年. 看官们看到整除肯定想到除法了

一起talk C栗子吧(第二十一回:C语言实例--表达式求值)

各位看官们,大家好,前几回中咱们说了堆栈的原理,并且举了实际的例子进行解说,这一回咱们说的例 子是:表达式求值.表达式求值和上一回中说的括号匹配一样,都使用了堆栈的原理,大家可以从例子中 看出来,所以我们把它们放在一起.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在这里说的表达式为包含加,减,乘除的四则运算表达式.例如:1+2*3-4/5就是一个四则运 算表达式.这个表达式中,运算符在数字中间,所以我们叫它中缀表达式,这也是符合我们思维的一种表 现形式,不过,计算机就不理解中

一起talk C栗子吧(第一百二十一回:C语言实例--线程知识体系图)

各位看官们,大家好,上一回中咱们说的线程属性的例子,这一回咱们说的例子是:线程知识体系图.闲话休提,言归正转.让我们一起talk C栗子吧! 我们在前面的章回中介绍了与线程相关的知识,在今天的章回中,我们将对这些知识进行总结,并且整理成一张知识体系图,方便大家掌握线程相关的知识. 下面是我们整理的知识体系图,请大家参数: 上图内容中的知识点都有相应的章回对应,下面是我整理的章回对应关系.为了大家方便,我设置了链接,大家可以直接点击链接跳到相应的章回中. 线程概念 线程概念:第一百零七回 线程标识

七七四十九劫,九九八十一难

蒙差揭谛皈依旨 谨记唐僧难数清 金蝉遭贬第一难 出胎几杀第二难 满月抛江第三难 寻亲报冤第四难 出城逢虎第五难 折从落坑第六难 双叉岭上第七难 两界山头第八难 陡涧换马第九难 夜被火烧第十难 失却袈裟十一难 收降八戒十二难 黄风怪阻十三难 请求灵吉十四难 流沙难渡十五难 收得沙僧十六难 四圣显化十七难 五庄观中十八难 难活人参十九难 贬退心猿二十难 黑松林失散二十一难 宝象国捎书二十二难 金銮殿变虎二十三难 平顶山逢魔二十四难 莲花洞高悬二十五难 乌鸡国救主二十六难 被魔化身二十七难 号山逢怪二

第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置

第三百八十一节,Django+Xadmin打造上线标准的在线教育平台-xadmin全局配置 1.xadmin主题设置 要使用xadmin主题,需要在一个app下的adminx.py后台注册文件里,写一个主题管理器绑定xadmin的views.BaseAdminView注册一般我们会在用户相关的app下的adminx.py后台注册文件里写 #!/usr/bin/env python # -*- coding:utf8 -*- import xadmin from xadmin import vie

人生只有苦练七十二变,才能笑对八十一难

有人说,人的一生其实就是苦练七十二变,笑对八十一难.   这也是西游记这部电视剧带给我们的人生启示. 这世界,最难还的是人情,你多学一样本事傍身,就可以少说一句求人的话.   这世界,最难做到的是坚持,现在不狠心,将来就伤心,现在不努力,将来依然不会满意.   没有人,能够帮你一辈子.你想倒下,没人会扶你,你想奋斗,也没人会拦你,人这辈子,能靠的只有自己.   你拥有多少本事,能承受多少苦难,将来就可以向老天要多少人生.   要想将来有多优秀,现在就得有多拼命.   人活着,便注定了这辈子的奔波

一起talk C栗子吧(第十八回:C语言实例--输出十六进制)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们,上一回中咱们说的是栈的例子,这一回咱们说的例子是:输出十六进制. 看官们,我想熟悉C语言的朋友们,对于输出十六进制的内容,肯定都会使用printf函数进行格式化输出. 不过,有时候想输出十六进制时就会有点"不识庐山真面目,只缘身在此山中"的感觉.我在前面的例子中 有一个关于进制转换的例子.当时输出十六进制时使用分别判断10到15,然后依据判

一起talk C栗子吧(第八十四回:C语言实例--使用信号进行进程间通信一)

各位看官们,大家好,上一回中咱们说的是进程间通信的例子,这一回咱们说的例子是:使用信号进行进程间通信.闲话休提,言归正转.让我们一起talk C栗子吧! 我们在上一回中提到过进程之间通信需要解决的三个问题,时间不长,我想大家都记得.今天我们就来解决第一个问题:进程之间如何进行通信. 信号的概念 在解决问题前,我们先介绍一下信号.信号是Unix/Linux系统提供的一种机制,它本质上一种软件中断.信号为我们提供了一种异步的事件处理方法,当进程收到信号时就会采取某种操作.例如,当进程收到终止信号(S