LINUX退出当前进程——比较return、exit()

1.在Linux中任何让一个进程退出

进程退出表示进程即将结束。在Linux中进程退出分为了正常退出和异常退出两种。

1>正常退出

a. 在main()函数中执行return 。

b.调用exit()函数

2>异常退出

a.调用abort函数

b.进程收到某个信号,而该信号使程序终止。

不管 是那种 退出方式,系统最终都会执行内核中的同一代码。这段代码用来关闭进程所用已打开的文件描述符,释放它所占用的内存和其他资源。

3>比较以上几种退出方式的不同点

(1)exit和return 的区别:

a.exit是一个函数,有参数。exit执行完后把控制权交给系统

b.return是函数执行完后的返回。renturn执行完后把控制权交给调用函数。

(2)exit和abort的区别:

a.exit是正常终止进程

b.about是异常终止。

时间: 2024-10-20 02:29:38

LINUX退出当前进程——比较return、exit()的相关文章

Linux shell break、continue、exit、return的用法

break.continue.exit.return一般用于控制循环的的走向 首先通过一个脚本说明 for ((i=1;i<5;i++ )) do if [ $i -eq 3 ] then #  break #  continue #  exit fi echo $i done echo OK 输出的结果 break的结果 1 2 OK continue的结果 1 2 4 OK exit的结果 1 2 由此可以说明 break n:n表示跳出循环的层数,如果省略n表示跳出整个循环 continu

linux 循环结构中的 break continue exit return区别

1 概述 在脚本的循环中,需要用到break,continue,exit.来控制循环.利用return来获取函数的返回值.本文将对这四个命令的使用做介绍 break [N]:提前结束第N层循环,最内层为第1层 continue [N]:提前结束第N层的本轮循环,而直接进入下一轮判断:最内层为第1层 exit 命令终止脚本 2  break continue exit   对比 2.1 break 和continue 测试 假设一个循环体内,总共嵌套了3层循环,总循环体N为3,break 和con

linux退出状态码及exit命令

Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码.对于需要进行检查的命令,必须在其运行完毕后立刻查看或使用$?变量.它的值会变成由shell所执行的最后一条命令的退出状态码: [[email protected] test]# date 2017年 07月 19日 星期三 16:32:51 CST [[email protected] test]# echo $? 0 按照惯例,一个成功结束的命令的退出状态码是0.如果一个命令结束时有错误,退出状态码就是一个正数值(1-255)

linux 中的进程wait()函数

转载自:http://blog.sina.com.cn/s/blog_7776b9d3010144f9.html 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程. 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init 来接管他,成为他的父进程-- 一个进程在调用exit

2)Linux程序设计入门--进程介绍

2)Linux程序设计入门--进程介绍 Linux下进程的创建 前言: 这篇文章是用来介绍在Linux下和进程相关的各个概念.我们将会学到: 进程的概念 进程的身份 进程的创建 守护进程的创建 1.进程的概念 Linux操作系统是面向多用户的.在同一时间可以有许多用户向操作系统发出各种命 令.那么操作系统是怎么实现多用户的环境呢? 在现代的操作系统里面,都有程序和进程 的概念.那么什么是程序,什么是进程呢? 通俗的讲程序是一个包含可以执行代码的文件 ,是一个静态的文件.而进程是一个开始执行但是还

Linux Programe/Dynamic Shared Library Entry/Exit Point &amp;&amp; Glibc Entry Point/Function

目录 1. 引言 2. C/C++运行库 3. 静态Glibc && 可执行文件 入口/终止函数 4. 动态Glibc && 可执行文件 入口/终止函数 5. 静态Glibc && 共享库 入口/终止函数 6. 动态Glibc && 共享库 入口/终止函数 1. 引言 0x1: glibc Any Unix-like operating system needs a C library: the library which defines t

linux获取daemon进程的控制台数据

linux提供了一个daemon函数,使得进程可以脱离控制台运行,实现了后台运行的效果.但是进程后台运行后,原本在终端控制台输出的数据就看不到了.那么,怎样才能找回这些数据? 这里,文章主题就围绕着 如何获得后台进程的控制台数据,其中的原理要从daemon说起. daemon主要做两件事: 1.创建子进程,退出当前进程,并且以子进程创建新会话.这样,就算父进程退出,子进程也不会被关闭 2.将标准输入,标准输出,标准错误都重定向/dev/null daemon 实现大致如下: int daemon

linux c 笔记 进程控制(三)

进程退出    进程结束表示进程即将结束运行,在linux系统中进程的退出方法分为正常退出和异常退出两种.exit函数进程有三种正常终止法及两种异常终止法.(1) 正常终止:    (a) 在main函数内执行return语句.这等效于调用 exit.    (b) 调用exit函数.此函数由ANSI C定义,其操作包括调用各终止处理程序(终止处理程序在调用atexit函数时登录),然后关闭所有标准I/O流等.因为ANSI C并不处理文件描述符.多进程(父.子进程)以及作业控制,所以这一定义对

linux c 笔记 进程控制(二)---守护进程

守护进程(Daemon),一说精灵进程,是指在后台运行的,没有控制终端与之相连的程序.它独立于控制终端周期性地执行某种任务或等待处理某些发生的事件.它是一个生存期较长的进程,守护进程常常在系统引导装入时启动,在系统关闭时终止.Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond.打印进程lqd等(这里的结尾字母d就是Daemon的意思).由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的