zoukankan      html  css  js  c++  java
  • 一起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理解,所以我们就不写代码了。

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


  • 相关阅读:
    min_25筛入门
    [湖南集训]更为厉害/谈笑风生
    [ARC060D] 最良表現
    [CQOI2007]矩形
    [SCOI2009]粉刷匠
    PAT乙级1030
    PAT乙级1028
    PAT乙级1029
    PAT乙级1026
    PAT乙级1027
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7041031.html
Copyright © 2011-2022 走看看