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是异常终止。
LINUX退出当前进程——比较return、exit()的更多相关文章
- 【Linux编程】进程终止和exit函数
内核要运行一个应用程序,唯一的途径是通过系统调用.exec函数.exec又会调用启动程序,启动程序(一般是汇编语言)以类似以下的方式调用main函数: void exit(main(argc, arg ...
- 1.2 Linux中的进程 --- fork、vfork、exec函数族、进程退出方式、守护进程等分析
fork和vfork分析: 在fork还没有实现copy on write之前,Unix设计者很关心fork之后立即执行exec所造成的地址空间浪费,也就是拷贝进程地址空间时的效率问题,所以引入vfo ...
- linux 进程学习笔记-进程退出/终止进程
<!--[if !supportLists]-->Ÿ <!--[endif]-->退出/终止进程 void _exit(int status) 与 void exit(int ...
- linux退出状态码及exit命令
Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码.对于需要进行检查的命令,必须在其运行完毕后立刻查看或使用$?变量.它的值会变成由shell所执行的最后一条命令的退出状态码: [ro ...
- Linux Programe/Dynamic Shared Library Entry/Exit Point && Glibc Entry Point/Function
目录 . 引言 . C/C++运行库 . 静态Glibc && 可执行文件 入口/终止函数 . 动态Glibc && 可执行文件 入口/终止函数 . 静态Glibc & ...
- python实现Linux启动守护进程
python实现Linux启动守护进程 DaemonClass.py代码: #/usr/bin/env python # -*- coding: utf-8 -*- import sys import ...
- Linux系统编程@进程通信(一)
进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统 ...
- linux C守护进程编写
linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件.守护进程是一种很有用的进程. Linux的大多数服 ...
- Linux监控重要进程的实现方法
Linux监控重要进程的实现方法 不管后台服务程序写的多么健壮,还是可能会出现core dump等程序异常退出的情况,但是一般情况下需要在无 人为干预情况下,能够自动重新启动,保证服务进程能够服务用户 ...
随机推荐
- java异常笔记
1:<java核心技术卷一>473页提到:如果在子类中覆盖了超类的一个方法,子类方法中声明的已检查异常不能超过超类方法中声明的异常范围. 显然,如果子类中抛出的异常范围比超类还大.多态将无 ...
- Java里Serializable的那些事
本文为原创文章,欢迎转载,但请注明出处http://www.cnblogs.com/yexiubiao/p/5014015.html,未在文章页面明显位置给出原文连接的,将保留追究法律责任的权利. 通 ...
- [python实现设计模式]-1. 单例模式
设计模式中,最简单的一个就是 “单例模式”, 那么首先,就实现一下单例模式. 那么根据个人的理解,很快就写出第一版. # -*- coding: utf-8 -*- class Singleton(o ...
- Hive On Spark hiveserver2方式使用
启动hiveserver2: hiveserver2 --hiveconf hive.execution.engine=spark spark.master=yarn 使用beeline连接hives ...
- linux基础1——网络配置入门
1.IP地址配置 (1)临时IP更改 sudo ifconfig eth0 down 暂停接口 sudo ifconfig eth0 192.168.1.xx sudo ifconfig eth ...
- 共享业务稳定性测试&技术创新组
本文其实是一篇招聘贴,不管你以前是做开发还是测试,都欢迎加入我们的小组. 2014年阿里巴巴的共享业务事业部有很大变化,共享的测试团队也做了一些调整,我不再担任共享业务的测试经理,但是仍然会留在共享测 ...
- c# 文件及目录操作类
18位长度的计时周期数: DateTime.Now.Ticks.ToString() 多数是收集而来,加上测试感觉很不错,分享一下或许有些帮助吧: 引用: using System; using Sy ...
- wordpress woodstock主题导入demo xml文件 execution time out
1.已设置php.ini max_execution_time = 240 导入显示设置60 2.wp-config.php 添加 set_time_limit(600); 无效 3. .htacce ...
- S2SH CRUD 整合
采用的框架 Struts2+Spring4+Hbiernate4. 目录结构 : EmployeeAction: package com.xx.ssh.actions; import java. ...
- declaration expected but identifier 'firedac' found
老是出现这种错误,原来是//注解时出来标点错误!