Ubuntu的学习shutdown联想到Android 的进程守护

Ubuntu 18.04 部署 OpenLiteSpeed:高性能 Web 服务器实战指南 Web 服务器是现代应用交付的基石,其架构设计直接影响并发处理能力、资源效率与运维复杂度。OpenLiteSpeed 采用单进程多线程+LSAPI 深度集成 PHP 的独特模型,规避了 Nginx+PHP-FPM 的进程切换开销和 Apache 的内存冗余,在 Ubuntu 18.04 这一稳定 LTS 环境中可充分发挥内核 4.15 对 TCP Fast Open、eBPF 和 systemd socket 激活的支持。它不仅提供 HTTP/2、Brotli、OCSP Stapling 等现代协议能力,更 阅读详情

1,关机命令 shutdown

               1)shutdown  --help

            moon@moon-ThinkPad-Edge:~$ shutdown --help
用法: shutdown [OPTION]... 时间 [信息]
使系统关闭。

Options:
  -r                          reboot after shutdown  现在立即重启
  -h                          halt or power off after shutdown 关机
  -H                          halt after shutdown (implies -h) 关机
  -P                          power off after shutdown (implies -h) 该选项为缺省选项。就是关机时调用poweroff。
  -c                          cancel a running shutdown
  -k                          only send warnings, don't shutdown
  -q, --quiet                 reduce output to errors only
  -v, --verbose               increase output to include informational messages
      --help                  display this help and exit
      --version               output version information and exit

时间 可以使用不同的格式,最常用的是简单的一个单词
“now”,其使系统立即关闭。  其它可用的格式有 +m ,此 m
是关机前等待的分钟数;hh:mm 其指定以 24 小时制中的时间。

已登录的用户被一条发送到他们终端的一条消息警告,您可
包含一条可选的 消息 到此项中。  使用 -k
选项可以发送警告而不真的关机。

如果给出 时间 ,此命令将留在前端指导关机发生。
可以使用 Control-C 取消它,或者被其他用户以 -c 选项取消。

系统默认进入维护状态 (单用户) 模式,你可以使用 -r 或 -h
更改此行为,其分别指定系统重启或关闭。-h
选项可以进一步由 -H 或 -P
来指定伺候是关机还是切断电源。  默认动作由 shutdown
脚本决定。

Report bugs to <upstart-devel@lists.ubuntu.com>



2)halt—-最简单的关机命令

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。


3)2中断命令

1)执行完命令后(若没有转到后台),可以使用CTRL+C来中止命令

2)kill 程序编码

当命令在后台执行时系统会返回一个程序编码,例如:在使用 shutdown -r 20:23 & 系统返回系统编码:4905

  我们可以使用kill 4905来中止重启命令

  3ps aux | grep 程序编号

  我们如果知道程序的编号,我们可以使用ps aux |grep 程序编号来查询该程序编号对应的命令是什么。

  例如上面的程序编号为4905 ,我们可以使用ps aux | grep 4905 就可以查到 shutdown -r 20:23 & 的命令


init

          init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。


Android进程守护

1)同一个进程服务相互守护

public class Service01 extends Service {

	@Override
	public IBinder onBind(Intent arg0) {
		return null;
	}

	@Override
	public void onCreate() {
		System.out.println("我是服务01Service");
		super.onCreate();
	}

	@Override
	public void onDestroy() {
		System.out.println("我是服务01,我被关闭了,开启01");
		Intent intent = new Intent(this, Service02.class);
		startService(intent);
		super.onDestroy();
	}
}


 

public class Service02 extends Service {

	@Override
	public IBinder onBind(Intent arg0) {
		return null;
	}

	@Override
	public void onCreate() {
		System.out.println("我是服务02Service");
		super.onCreate();
	}

	@Override
	public void onDestroy() {
		System.out.println("我是服务02,我被关闭了,开启01");
		Intent intent = new Intent(this, Service01.class);
		startService(intent);
		super.onDestroy();
	}
}



/**
 * 常驻内存
 * 注册大量的广播接收者,常用广播;
 * 锁屏广播
 * 解锁屏幕
 * 电话拨出
 * 短信到来
 */

WSL2深度原理与企业级部署实战指南 WSL2并非简单的Linux子系统,而是基于Hyper-V轻量虚拟化技术构建的混合内核运行环境,其核心在于Windows与Linux内核协同调度硬件资源。它依赖CPU二级地址转换(SLAT)、BIOS级虚拟化支持(VT-x/SVM)及cgroup v2等底层机制,技术价值体现在原生systemd、Docker和GUI应用支持。典型应用场景包括跨平台开发、CI/CD本地验证、多发行版并行测试及容器化开发环境构建。本文聚焦WSL2启动链路、Hyper-V与VirtualMachinePlatform分工、Ubu 阅读详情

相关推荐

R语言影像组学实战:从医学图像到预测模型的完整流程(附代码)

本文详细介绍了使用R语言进行影像组学分析的完整实战流程。从环境搭建、数据准备,到医学图像的特征提取与筛选,再到利用机器学习构建预测模型并进行评估,提供了清晰的步骤和可运行的R代码示例,帮助研究者和数据分析师掌握从医学图像到临床预测模型的核心技术。

qsc901234的博客 732

完全BIOS优化(转)

完全BIOS优化  一、STANDARD CMOS SETUP(标准CMOS设置)   这里是最基本的CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)系统设置,包...

cuankuangzhong6373的博客 4735

RK3566/RK3588 NPU性能实测:用mobilenet模型快速验证你的开发板NPU是否正常工作

本文提供了RK3566/RK3588开发板NPU性能实测指南,通过MobileNet模型快速验证NPU是否正常工作。详细介绍了环境搭建、测试资源获取、编译运行及结果分析的全流程,帮助开发者高效验证神经网络加速器功能,为后续AI应用部署奠定基础。

weixin_28826521的博客 449

Linux常用命令(一)

Linux常用命令(一) 一、shutdown Shutdown 使用权限:系统管理员 用法:shutdown [选项] 时间 [警告信息] 作用:关机 例子:shutdown -h now 立即关机 Shutdown -h 17:37 17:37时关机 参数: -r 重启 -h

qq_34404324的博客 380

毫米波雷达IWR1843开箱演示

毫米波雷达IWR1843开箱演示

m0_56120826的博客 7780

无人机避障——感知篇(采用Mid360复现Fast-lio)

本文介绍了在Ubuntu 18.04和ROS Melodic环境下,使用Xavier-nx电脑和Livox Mid-360激光雷达编译和运行FAST-LIO工程的步骤,包括创建工作空间、编译驱动和FAST-LIO源码,以及运行launch文件进行建图的过程。

weixin_45390670的博客 3547

Windows Docker环境搭建:从WSL虚拟化到Docker Desktop配置全指南

容器化技术通过操作系统层面的虚拟化实现应用隔离与部署,其核心依赖于Linux内核的命名空间和控制组等特性。在Windows平台上,由于系统内核差异,直接运行Docker需要借助虚拟化方案。Windows Subsystem for Linux(WSL)作为轻量级Linux兼容层,为Docker提供了原生运行环境,而Docker Desktop则作为管理界面集成WSL后端。这种组合方案解决了Windows开发者的容器化需求,特别适用于微服务开发、持续集成和环境标准化等场景。本文聚焦于WSL 2与Docker

weixin_30621959的博客 526

[GXYCTF2019]BabyUpload1 -- .htaccess文件解析与蚁剑实战指南

本文深入解析了[GXYCTF2019]BabyUpload1文件上传漏洞的实战利用。通过绕过后缀名与内容检测,上传包含PHP代码的.jpg文件,并利用.htaccess文件强制服务器将其解析为PHP脚本。文章详细介绍了.htaccess的原理、构造方法、Content-Type绕过技巧,并演示了如何使用中国蚁剑连接Webshell获取Flag,为Web安全学习提供了完整实战指南。

weixin_29016315的博客 512

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

Arduino Uno R3开发板系列学习教程(番外篇:USB驱动安装与疑难排解)

本文详细介绍了Arduino Uno R3开发板USB驱动安装与疑难排解的完整指南,特别针对国产克隆版常见的CH340驱动问题提供解决方案。从识别开发板类型到Windows/Mac系统驱动安装步骤,再到常见问题排查与高级排错技巧,帮助开发者快速解决连接问题,确保程序烧录顺利进行。

weixin_29182481的博客 587

从零构建简历智能匹配系统:AI技术助力高效招聘

本文详细介绍了简历智能匹配系统的开发过程,从数据收集、预处理、特征提取到模型匹配和结果展示,每一步都提供了详细的代码实例。通过使用TF-IDF、Word2Vec和BERT等技术,我们能够有效地将求职者的简历与职位描述进行匹配,从而提高招聘效率。未来,随着自然语言处理技术的进一步发展,简历智能匹配系统将变得更加智能和高效,为企业和求职者提供更好的服务。

理论都是虚的,代码才是王道。 310

android---Percel

Parcelable:一种封装数据的容器。 实现的方法:        1)writeToParcel方法。        2)describeContents方法。       3 )  public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { 《1》先了解Parcelable的简单用

javaMov的专栏 1602

Spark Catalog详解

旁边的实习生说:我想要用spark代码中对hive库中的内部表和外部表进行删除(包括数据),咋感觉网上搜了一圈都找不到解决方案啊,spark这么鸡肋吗?我:你应该静下心来好好把spark基础知识进行全面学习。实习生:难道spark有这功能,而我没有学习过?咋弄啊?我:学习一下Spark Catalog。实习生:啥是Catalog啊?Spark Catalog是Spark SQL中的一个元数据管理组件,它提供了一个集中化的存储和查询表、视图和函数的位置。

SunnyRivers 1814

Android—文件进行数据存储(四中操作模式)

简介:     Android进行文件存储主要有四种操作模式     1》Context.MODE_PRIVATE:默认模式,私有模式只能被本身应用进行访问,其它应用不能进行访问,本身应用访问文件,如果进行操作会对文件进行覆盖。     2》Context.MODE_APPEND:append模式下对文件访问会自动检查文件是否存在,会追加内容,如果文件不存在则进行创建文件。     3》M

javaMov的专栏 1387

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

张飞学Android之嘲讽Context

《1》 //允许访问应用程序特定的资源和类,以及电话应用程序级的操作如发射活动,广播和接收的意图等 public abstract class Context {  public static final int MODE_PRIVATE = ????;//  public static final int MODE_WORLD_READABLE = 0x0001; public

javaMov的专栏 1171

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android应用程序开发入门——基础概念

Android 程序是利用Java语言来开发的。编译完成的java代码、数据和资源文件是通过一个叫做aapt的工具进行打包,打包之后会生成一个.apk文件。最终用户可以将.apk文件安装在Android手机上; 一般情况下,一个.apk文件就被称为一个应用程序。 编译过程         .java-class==>dx.bat==>classes.dex

javaMov的专栏 1111

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android的跨进程通信

先复习一下服务的应用绑定      当Activity需要使用Service中的方法时可以调用bindService()绑定服务,Service会返回一个IBinder对象, 这个对象可以调用Service中的方法. (当启动服务的Activity退出时可以进行解绑操作) 复习:1)Activity中onResume()---------------所以不能吧这些代码写到onCre

javaMov的专栏 1093

Eclipse导入ApiDemos后R.java不自动生成的问题

导入ApiDemos后,res文件夹显示错误,src也显示错误,打开src文件夹,看里面错误项,发现没有R.java文件,项目文件里一看,确实没有。上百度,发现很多,标题一样,想来内容也差不多,看了一个,说是在String.xml里某些行的撇号前加右斜杠,看了一下这个文件,发现本来就有这个右斜杠,不解。 解决方案:   后来想到自己创建工程时,选择的an

javaMov的专栏 1043

菜鸟之MVC思想

MVC英文为:Model-View-Contoller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样 一个应用被分成三个层一一模型层、视图层、控制层。 M(Model)模型:                 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Apple

javaMov的专栏 1040

数据结构---栈的定义

栈底(Bottom):由于栈顶位置是动态变化的,需要设置栈顶指示器。 栈的常见运算:                          进栈或入栈(表尾插入)                          出栈或退栈(表尾删除) 栈的特性:后进先出(LIFO) 栈的抽象数据类型定义 数据元素:可以是任意类型的数据,但必须属于同一个数据对象。 关系:栈中数据元

javaMov的专栏 1015

Android--短信发送

短信发送项目 了解android新建项目               Application Name:第一应用               Project        Name: HelloWorld               Package     Name:com.itcast.helloworld create custom launcher icon 创建一个自定义的启

javaMov的专栏 976

Android中正在获取的服务

关于PackageManager和ActivityManager的使用。               ActivityManager.RunningServiceInfo类:封装了正在运行的服务信息            List listRn=am.getRunningServices(40);                          功能:返回所有正在运行的服务     

javaMov的专栏 925

多媒体工作难题总结

问题描述:              Camera中拍摄图片后,通过

javaMov的专栏 858

Android------广告条

在程序drawable下:              ---- point_background.xml         ======================绘制图形 point_enable.xml     android:shape="oval">                     ========

javaMov的专栏 840

Android_数据库的增删改查

Android下使用数据库练习CURD         1》先了解下SQLiteOpenHelper                    我们首先想到帮助类,来帮助我们来创建数据库,和修改数据库,以前我们学习jdbc、c3p0都是有帮助类来或者有个工厂,帮我们产生的创建连接,和关闭连接。onCreate(SQLiteDatabase db)、onUpgrade(SQLiteDatabase

javaMov的专栏 834
上一篇: 张飞学Android之嘲讽Context
下一篇: 多媒体工作难题总结
linuxMinx
博客等级 码龄15年 195粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值