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

让我们一起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理解,所以我们就不写代码了。

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


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

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

    各位看官们.大家好,上一回中咱们说的线程属性的样例.这一回咱们说的样例是:线程知识体系图.闲话休提.言归正转. 让我们一起talk C栗子吧! 我们在前面的章回中介绍了与线程相关的知识,在今天的章回中 ...

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

    第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置 1.xadmin主题设置 要使用xadmin主题,需要在一个app下的adminx.py后台注册文件里,写一 ...

  3. “全栈2019”Java第八十一章:外部类能否访问嵌套接口里的成员?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. 孤荷凌寒自学python第八十一天学习爬取图片1

    孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...

  5. 从西天取经的九九八十一难来看Java设计模式:模板方法模式

    目录 示例 模板方法模式 定义 意图 主要解决问题 适用场景 优缺点 西天取经的九九八十一难 示例 当我们设计一个类时,我们能明确它对外提供的某个方法的内部执行步骤, 但一些步骤,不同的子类有不同的行 ...

  6. 《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)

    1.简介 在实际测试过程中,我们经常会遇到这样的情况,开发由于某些原因导致一些模块进度延后,而你的自动化测试脚本已经提前完成,这样就会有部分模块测试,有部分模块不能进行测试.这就需要我们暂时不让一些t ...

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

    各位看官们,大家好,上一回中咱们说的是进程间通信的样例.这一回咱们说的样例是:使用信号进行进程间通信.闲话休提,言归正转. 让我们一起talk C栗子吧! 我们在上一回中提到过进程之间通信须要解决的三 ...

  8. 一起talk C栗子吧(第八回:C语言实例--素数)

    各位看官们,大家好,从今天開始.我们讲大型章回体科技小说 :C栗子,也就是C语言实例. 闲话休提, 言归正转. 让我们一起talk C栗子吧! 看官们.上一回中咱们说的是进制转换的样例,这一回咱们说的 ...

  9. 一起talk C栗子吧(第八十三回:C语言实例--进程间通信概述)

    各位看官们,大家好,前二回中咱们说的是进程停止的样例,这一回咱们说的样例是:进程间通信.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们.每一个进程都拥有自己的资源,假设不同进程之间须要共享 ...

随机推荐

  1. 数据库应用_innobackupex备份与恢复

    1.Percona软件介绍; 2.innobackupex的备份与恢复 一, Percona软件 在学习percona软件之前,我们看一下物理备份和mysqldump备份有哪些缺陷. 物理备份的缺点: ...

  2. Mean, Median, Mode, Range, and Standard Deviation

    Descriptive statistics tell you about the distribution of data points in data set. The most common m ...

  3. linux下安装jdk跟tomcat

    文章参考    https://www.cnblogs.com/geekdc/p/5607100.html   Linux服务器安装jdk+tomcat https://baijiahao.baidu ...

  4. Python实现机器人语音聊天

    一.前言说明 1.功能简述 登录后进入聊天界面,如果服务器都在同一个地址,则都进入同一个房间 进入/离开/发消息同一房间用户都可以看到,输入“tuling”或“chatbot”可以切换为和Tuling ...

  5. 【codeforces 335A】Banana

    [题目链接]:http://codeforces.com/contest/335/problem/A [题意] 让你构造一个长度为n的字符串; 每次你可以从这个字符串中任意取走字符; 让你求出取的次数 ...

  6. 高速掌握Lua 5.3 —— I/O库 (1)

    Q:什么是"Simple Model"? A:全部的文件操作都基于一个默认的输入文件和一个默认的输出文件.这就意味着同一时间对于输入和输出来说,仅仅可操作一个文件(默认的文件). ...

  7. sass05 数据类型,数据运算

    /*! 数字类型 */ $n1: 1.2; $n2: 12; $n3: 14px; p{ font-size: $n3; } /*! 字符串类型*/ $s1: container; $s2: 'con ...

  8. hpuoj--校赛--送给新生的礼物(水题)

    问题 A: 感恩节KK专场--送给新生的礼物 时间限制: 1 Sec  内存限制: 128 MB 提交: 631  解决: 187 [提交][状态][讨论版] 题目描述 学长KK要送给学弟学妹们礼物, ...

  9. 2.安装 CLI和CLI的工作原理

    转自:https://www.gruntjs.net/getting-started 还在使用 Grunt 0.3 版本吗?请查看 Grunt 0.3 注意事项 在继续学习前,你需要先将Grunt命令 ...

  10. String slices

    String slices A segment of a string is called a slice. Selecting a slice is similar selecting a char ...