【Linux】进程终止

news2024/12/23 19:24:21

进程退出场景

  • 代码运行完毕,结果正确
  • 代码运行完毕,结果不正确
  • 代码异常终止

可以用return 的不同的返回值数字,表征不同的出错原因退出码所以进程运行正不正常我们可以查看退出码来判断;

如果进程异常,退出码就无意义;

退出码

关于return 0

main函数为什么要return这个‘0’呢?

这个‘0’我们将其称之为叫做进程的退出码
这个退出码,它的意义在于表征我们进程的运行结果是否正确,而其中我们用‘0’一般表示的是叫做success。

因为我们想通过这个‘0’来告诉另一个告诉我们当前的程序--代码跑完而且结果是正确的。
 

最后这个‘0’到哪里去了呢?
一般而言,是父进程会关心进程的运行情况。这个return的‘0’最后会被我们的父进程,即我们所对应的bash拿到。

main函数的返回值,本质表示:进程运行完成时是否是正确的结果,如果不是,可以用不同的数字,表示不同的出错原因。

指令echo $?

echo $?

可查看进程最近一次退出时的退出码;

当我们把return 0改为return 11时,那么第一次执行echo $?拿到的退出码就是11

为什么第二次第三次打印就变成0了呢?
因为这一次打印的时候,最近一次执行程序就变成了echo命令,echo命令上次执行时是正确的,所以它最终对应的退出码就为0了。

查看错误码对应描述

写一个打印系统默认提供的它对应的错误码的描述:

系统提供的错误码和错误码描述是有对应关系的。

errno

当这个命令执行失败的时候,使用errno可以让用户知道了失败的原因。根据对应执行失败的个结果来再调整自己执行程序的方式。

运行结果:

exit与return

exit在任意地方被调用,都表示调用进程直接退出

return 只表示当前函数返回,还会向后运行

exit与_exit

1.exit是库函数,_exit是系统调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1189699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode 第 368 场周赛题解

Leetcode 第 368 场周赛题解 Leetcode 第 368 场周赛题解题目1:2908. 元素和最小的山形三元组 I思路代码复杂度分析 题目2:2909. 元素和最小的山形三元组 II思路代码复杂度分析 题目3:2910. 合法分组的最少组数思路代码复杂度分析 题目4&…

Leetcode124. 二叉树中的最大路径和

Every day a Leetcode 题目来源:124. 二叉树中的最大路径和 解法1:深度优先搜索 思路类似于:Leetcode543. 二叉树的直径,只是考虑对象从边变成了点。 首先,考虑实现一个简化的函数 dfs(node),该函数计算…

解决 github.com 或者 raw.githubusercontent.com 打开慢、打不开问题

系列文章目录 文章目录 系列文章目录前言一、Windows 系统1.1 以管理员身份运行记事本1.2 打开 hosts 文件1.3 写入 IP 地址 二、Linux2.1 hosts 文件位置 三、Android 系统总结 前言 连接手机热点,将流量关闭马上打开,进入的成功率更高 一、Windows 系…

Linux基础【Linux知识贩卖机】

偶尔的停顿和修整,对于人生是非常必要的。 --随记 文章目录 Linux目录目录结构磁盘分区相关命令 相对路径和绝对路径 文件权限用户分类umask创建文件权限计算方法粘滞位 总结 Linux目录 目录结构 Linux 操作系统采用了一种层次化的目录结构,常被称为标…

11-Docker-Redis集群部署

00-前言 在工作环境中,我们常常被要求配置多种集群,Redis 集群是最常见的入门需要掌握的集群配置方法,在之前的学习中,我们学习掌握了分布式存储的算法,本质上集群的部署就是通过分布式存储算法将数据分发部署好的不同…

2009-2018年全国各省财政透明度数据

2009-2018年全国各省财政透明度数据 1、时间:2009-2018年 2、指标:财政透明度 3、范围:31省 4、来源:财政透明度报告 5、指标解释: 财政透明度是公开透明的重要方面,体现了现代预算制度和法治政府的特…

09-MySQL主从复制

01-主从复制原理 MySQL主从复制是一种用于实现数据备份、读写分离和扩展性的技术。它基于二进制日志(Binary Log)来将主数据库上的更改操作同步到一个或多个从数据库。 MySQL主从复制的基本原理如下: 主服务器(Master&#xff0…

HTTP协议详解-下(Tomcat)

如何构造 HTTP 请求 对于 GET 请求 地址栏直接输入点击收藏夹html 里的 link script img a…form 标签 通过 form 标签构造GET请求 <body><!-- 表单标签, 允许用户和服务器之间交互数据 --><!-- 提交的数据报以键值对的结果来组织 --><form action&quo…

JAVA开源项目 于道前端项目 启动步骤参考

1. 安装 启动过程有9个步骤&#xff1a; 1.1 安装 Node JS , V18版本的 &#xff08;安装步骤省略&#xff09; 1.2 安装 npm install -g yarn &#xff0c;node JS里边好像自带npm &#xff0c;通过npm的命令安装 yarn 1.3 切换到项目中去安装&#xff0c;npm install &a…

5G网络切片,到底是什么?

网络切片&#xff0c;是5G引入的一个全新概念。 一看到切片&#xff0c;首先想到的&#xff0c;必然是把一个完整的东西切成薄片。于是&#xff0c;切面包或者切西瓜这样的画面&#xff0c;映入脑海。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 然而…

如何做游戏软件开发?怎么和软件开发公司合作?

随着科技的发展和普及&#xff0c;游戏软件已经成为人们日常生活和工作中不可或缺的一部分&#xff0c;许多企业也开始涉足游戏软件开发领域&#xff0c;希望能够打造出一款受欢迎的游戏&#xff0c;那么&#xff0c;如何做游戏软件开发?怎么和软件开发公司合作呢?下面我们来…

【Data Grip】打开控制台编写sql语句

这里我从表打开&#xff08;也可以从其他地方打开都行&#xff0c;右键new,出现Query Console 点击即可)控制台&#xff0c;右键表 new 点击query console 在上面编写sql语句 编写完之后 点击绿色三角形运行

某平台简单尝试一次密码逆向

1、查看表单数据 发现密码加密 2、控制台搜索password 发现他在欺负我看不懂拼音 3、第一次断点调试失败 断点后随便填写账号密码登录&#xff0c;发现失败 4、控制台搜索 jiami 又找到了一个函数 5、断点成功 重新登录后断点成功 jiami function(password) {var e passw…

代码随想录训练营Day1:二分查找与移除元素

本专栏内容为&#xff1a;代码随想录训练营学习专栏&#xff0c;用于记录训练营的学习经验分享与总结。 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;二分查找与移除元素 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a…

Django之三板斧的使用,全局配置文件介绍,request对象方法,pycharm链接数据库,Django链接数据库,ORM的增删改查

【1】三板斧(3个方法)的使用 Httpresponse() 括号内写什么字符串&#xff0c;返回的就是什么字符串返回的是字符串 render(request&#xff0c; 静态文件 ) request是固定的静态文件是写在templates文件夹里面的&#xff0c;如&#xff0c;HTML文件 redirect( 重定向的地址 ) 重…

EfficientNet 系列网络学习

EfficientNet V1 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks 增加网络参数的方式有三种&#xff1a;深度、宽度和输入图像的分辨率。探究这三种方式对网络性能的影响&#xff0c;以及如何同时缩放这三种因素是 EifficentNet的主要贡献。 单独…

内核移植笔记 Cortex-M移植

常用寄存器 PRIMASK寄存器 为1位宽的中断屏蔽寄存器。在置位时&#xff0c;它会阻止不可屏蔽中断&#xff08;NMI&#xff09;和HardFault异常之外的所有异常&#xff08;包括中断&#xff09;。 实际上&#xff0c;它是将当前异常优先级提升为0&#xff0c;这也是可编程异常/…

【代码随想录】算法训练营 第二十天 第六章 二叉树 Part 6

654. 最大二叉树 题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回…

西部数码的域名如何实现DDNS功能

功能简介&#xff1a; 动态域名解析&#xff08;Dynamic DNS&#xff0c;简称DDNS&#xff09;可以让用户使用固定的域名来访问动态IP地址&#xff0c;解决因IP地址变化造成服务无法访问的情况。 本文将介绍如何使用西部数码的API实现DDNS功能&#xff0c;使您的域名始终指向您…