1.结束进程的正确方式

1. 结束进程的方式一般会用 kill -9 pid的方式

给进程发-9信号会造成进程强制退出,有一些未flush的文件描述符,没有机会flush,会造成数据不准确,或者磁盘文件数据不完成或损坏的情况。

推荐使用  kill -2 pid结束进程,-2信号在没有注册处理函数的情况下,会执行默认处理退出进程,但是会执行进程的钩子函数,在钩子函数里做清理工作,把未flush的数据存到磁盘,socket未发出的数据发出去。

2. 实验

创建一个简单的springboot程序

HiController继承DisposableBean,继承这个类会在钩子函数回调里面的方法。

@RestController
@Slf4j
public class HiController implements DisposableBean {

    @GetMapping("/hi")
    public String hi(){
        log.info("hi");
        return "hi";
    }

    @Override
    public void destroy() throws Exception {
        log.info("程序结束回调,用于结束时关闭资源");
    }
}

打包启动

java -jar simple-app.jar

3. kill  -9 结束进程

 并没有回调钩子函数

4. kill -2 结束进程

 执行了钩子回调,把该处理的事情处理完毕,内存数据未flush的flush到磁盘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
功能: 执行BAT批处理脚本A,去掉桌面快捷方式图标上的箭头。 执行BAT批处理脚本B, 还原成操作系统桌面图标默认带箭头的状态。 去箭头 或者 还原箭头 两个脚本都能顺带解决其他方法导致的后遗症问题。 其他方法导致的后遗症问题是指下面这两种后遗症。 任务栏被锁定, 快捷方式图标的箭头变黑块 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 特点: 1.无后遗症。 2.实现桌面图标在视觉上毫无污染的境界。可以通过放大镜程序任意等级放大检测,不会发现任何污染。 3.使用了一个自己定制的特殊图标文件作为箭头图标,除此之外不给系统添加其他任何文件。 4.明文批处理,无毒无木马,避免了EXE类程序骑马携毒的嫌疑。 5.一次运行,一次解决,立即生效,无需重启动。根治病患,后顾无忧。不使用自启动,无额外资源消耗。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 版本: 脚本和操作系统是32位或者64位毫无关系。 如果谁在这个问题上还特意故弄玄虚扯上64位系统 那就纯属扯淡。 不过因为图标缓存文件涉及具体路径,所以不同系统会有差别, 最早脚本是基于Win7制作,后来添加WinXP版本。 使用其他系统如果发现路径有差别的话,可以自行修改制作成针对其他系统的脚本。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 缺点: 我设置了障碍,需要虚拟分 3分。 其实脚本并不复杂,如果仔细阅读肯定能自己照样子做出来。 我也不缺分,分对我也不重要。我是支持有能力的用户自己去完成的。 设置3分,只是稍微提高了一点获取门槛,不想被别人随意照搬,然后到处乱发。 脚本和所需资源是早在2014年3月就已完成制作。 上传CSDN时是 2017年2月2日。 之所以上传这东西,因为我发现都到了2017年, 结果去网络上搜索,还是没有彻底解决这个问题的案例。 到处都是照搬照抄那些有后遗症或者不彻底的方案。 如果你能看懂 甚至能按照描述做出来 但还是来下载, 这我当做是对我过去付出的认可 以及 尊重吧。 ------------------------------------------------------------------------------------------------------------------------ 脚本过程 1.强制修改注册表,这样可以修复其他方法导致的锁任务栏这个后遗症。 其实这个强制修改注册表也只是返回到操作系统最原始的样子,可以算作还原吧。 2.复制自制的 视觉透明 数据非透明的图标文件,复制到系统目录下。 3.修改注册表,把快捷方式的箭头图标文件指向自制的特殊图标文件。 4.结束explorer进程。 5.清除图标缓存文件(需要先改属性)。 6.重新启动explorer进程。 ------------------------------------------------------------------------------------------------------------------------ 已经不记得从什么时候开始使用没有箭头的快捷方式图标了。 自己第一次遇到快捷方式图标问题(箭头图标变黑块)是在2013年10月份, 当时并没太在意,只是通过搜索网络找了个普通办法解决了。 但站在现在的位置看当初,那应该是一个临时的处理办法,并不是根治问题的方法。 真正重视并打算弄明白并解决这个问题 是在2014年3月17日到21日的那一段时间。 当时的过程当然是先搜索网络,查看测试当时能找到很多已知的方案, 这是捷径,即站在前人的肩膀上快速了解问题, 掌握大家所利用分的方法,因为里面很可能就包含最终正确方案的一部分。 测试了见过的很多方法,都是先惊喜 最后失望,因为都有问题,不能圆满解决。 还有就是 这卫士 那管家 之类的提供的方法, 应该说这些工具的方案也经历过不同版本,网上见到过评价其导致其他问题。 卫士管家这类工具 那时候我已经很反感了, 早已看透这类东西,所以那时候就已经不用这类东西了。 了解发现 卫士管家这类 他们当然不会直白的使用明文脚本, 而是编译后的程序,有的还不是一次彻底解决问题,需要每次启动后调用一次。 除了卫士管家这类东西之外,那时候网络上已经出现了单独的工具,不少都是挂马的。 虽然能搜到很多,但没有发现能彻底解决的方法。但大体思路已经很清晰, 大家的办法也很相近,只有自己来做才能按照自己的需求彻底解决问题。 其实问题并不算复杂,早期大家的办法不成熟 有后遗症。 后期大家总算摸到门了,但陷在了无尽的尝试和寻找可用的自带图标之中。 然而自带的图标要么是绝对的透明,要么就是有像素的图标, 自带图标不管其像素多少多大,那都是污染。 系统对快捷方式图标的处理方法很特殊,还涉及到图标缓存, 桌面快捷方式的图标是箭头图标和原始快捷方式图标合成的新图标。 有污染的图标自然不是理想的代替箭头的图标。 而系统自带的透明图标会带来黑方块遮挡这个后遗症。 猜测用透明图标的话,在某一特定时刻系统会检测到异常, 然后就用了全黑图标代替透明图标。总之透明图标不能用。 另外检测黑块问题其实不用重新启动系统去检测,注销后再登陆就可以验证是否有问题。 操作系统是机器,跑的是程序,它对透明图标的判断标准当然是绝对的数据标准,不是我们的视觉标准。 所以操作系统检测出透明图标然后用黑块图标替换,这种透明一定是数据级别的绝对透明。 举个不见得完全正确的例子 比如0代表透明,255代表单一颜色的最大值,那么导致黑块的透明图标一定是0这一级别的数据。 而我们人的视觉并不敏锐,如果0代表透明,那么对我们来说1也是透明,甚至10也可能是透明。 但对于操作系统来说1或者10这和透明就毫无关系了,如果有这样的图标 自然就不会惹上黑块这个后遗症。 但操作系统中不会有这种看起来是透明 实际上 即数据上来说并非彻底透明的 毫无意义的图标, 这也是为什么大家都在找系统中可用来替代的图标,但绝对不会有结果的原因。 所以方案只能是自己动手做一个符合自己标准的视觉透明数据不透明的图标。 自制视觉透明图标,基础是一个完全透明的图标, 为了尽可能减少复杂度,只在这个透明图标上添加一个像素点即可。 初期还曾尝试不同颜色的像素点,甚至考虑绝大多数用户桌面的颜色,还有像素点的位置, 但实际上这些并不影响结果,因为最终视觉上不会看到任何像素。 但考虑到理论基础还是选择了中间色 灰色 作为像素点的颜色。 然后利用软件对像素点做平滑处理,模糊处理,高斯模糊处理。 经过这一系列处理后就形成了肉眼看是完全透明的图标, 但理论上是有颜色的图标,这样Windows转换图标时就不会触发黑块问题。 ------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------ 早期出现的有缺陷的方法 方法一 核心语句是清除注册表如下注册表项,此法后遗症是任务栏被锁,不能向任务栏添加快捷方式。 reg delete "HKEY_CLASSES_ROOT\lnkfile" /v IsShortcut /f reg delete "HKEY_CLASSES_ROOT\piffile" /v IsShortcut /f 此法虽有不同形式,但无论是BAT命令还是其他不同高级语言编译的EXE,本质上是一样的。 使用高级语言只是换个形式使用命令, 其目的 一是隐藏代码不想公开,还有就是目的不纯 涉及灰色产业链,挂马带毒。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 方法二 是用一个透明图标替换小箭头图标,此法后遗症是导致原来小箭头的图标变成黑块 核心语句 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ Shell Icons" /v 29 /d "%systemroot%\system32\shell32.dll,50" /t reg_sz /f 核心图标文件shell32.dll,图标编号50 此法注销或重启动后会发现快捷方式上的黑块。清理图标缓存文件后重启explorer进程可以暂时解决问题。 所以使用此法的方案往往还会利用自启动,每次进入系统后都执行一次清理图标缓存和重启资源管理器进程。 其实系统里还有其他透明图标,当然 用的话也有后遗症 %SystemRoot%\System32\ImageRes.dll 的第113和115两个图标都是透明图标, 因为是透明图标所以没有污迹,但同样注销后有黑块。 此法的核心是利用一个绝对的透明图标替换箭头图标, 无论使用哪个透明图标都可以归结为此类方法,结果也都是一样,会导致黑块问题。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 方法三 替换小箭头图标,选择了图标资源文件imageres.dll,内部196号图标 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ Shell Icons" /v 29 /d "%systemroot%\system32\imageres.dll,196" /t reg_sz /f 缺点是 快捷方式图标会染上污迹,脏兮兮 196号图标,并不是全透明无像素图标,它是类似于一道下划线的图标,所以就有了污迹的效果。 196,是1条线。 197,是2条线。 198,是3条线。 使用系统自带的任何其他非透明图标代替箭头图标,都可以归结为此类方法。 虽然结果会有差别,但充其量也就是图标污染程度不同这样的差别。 解决快捷方式箭头问题所需要的图标是视觉上透明,数据级别不透明的图标。 操作系统内设计一个有像素的图标自然是为了看得到,而不是看不到, 对操作系统来说设计那样的图标没有意义,所以操作系统不会自带那样的图标, 因此在操作系统自带的图标范围内找答案不会有结果。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1KB文件夹快捷方式病毒清除专用附件包含下面几部分。 1、自动化清除脚本 2、清理工具 3、恢复文件夹属性工具 首先使用“自动化清除脚本程序”清除系统内此病毒。 ———————————————————————— 如果“自动化清除脚本程序”清除无效。 请使用“清理工具”清理系统,并重启电脑即可。 然后用“恢复文件夹属性工具”恢复被隐藏的各盘文件夹。 全部内附说明图。 清理工具执行的程序行为如下: 点击“开始处理”后,程序将执行: 1、结束系统内如下进程: %SystemRoot%\system\svchost.exe %SystemRoot%\SYSTEM32\wscript.exe (注意是%SystemRoot%\system\svchost.exe进程,不是%SystemRoot%\system32\svchost.exe进程) 2、接下来删除以下文件: 删除%SystemRoot%\system\svchost.exe 删除C:\盘至Z:\盘的根目录下的Autorun.inf文件 删除C:\盘至Z:\盘的根目录下的*.vbs文件 删除C:\盘至Z:\盘的根目录下的*.lnk文件 (注意,本程序为了清除磁盘根目录下那些被恶搞出来大量的文件夹快捷方式,只能采取删除所有盘根目录下的*.lnk快捷方式的办法了。如果你有其他文件的快捷方式在磁盘根目录下,将会一并删除,但是本程序的“备份文件夹Backup”内有备份的被删除的东西,自己找找恢复即可。) 3、扫描系统盘所有*.exe文件执行数据流清除,此时清除的是附加在系统文件上的数据流。并同时搜索全机指定大小的*.vbs文件删除,这个可能导致误删除正常的vbs文件,可以自己查看扫描结束后的日志。 4、删除注册表内被病毒恶搞的项目,此项目能支持被恶搞的系统在双击“我的电脑”时继续启动附加入桌面程序的那数据流病毒。 5、恢复注册表内load项目的默认空值。 6、修复相关文件关联,不能完美修复,但是将就够了,想完美修复的,找些其他工具试吧,一并修复如下项目: 修复IE主页(这并不是主页被修改,而是这可以同步修复打开IE也启动数据流病毒的问题) 禁用系统自动播放 **************************************** 恢复文件夹属性工具,用来最后恢复各盘内根目录下被隐藏的大量文件夹,看说明图以及说明文件自己正确操作。 注意,本程序修复文件关联那一步不能修复全部被改的文件关联
1. 选择题 1.在进程的组成部分之中,进程在运行中不可修改的部分就是___B__。 A.私用程序段 B.共享程序段 C.数据段 D.进程控制块 2.在消息缓冲通信中,消息队列属于___A___资源。 A. 临界 B. 共享 C. 永久 D. 可剥夺 3.进程间的同步就是指进程间在逻辑上的相互___B___关系。 A. 联接 B. 制约 C. 继续 D. 调用 4.进程A与进程B通过共享缓冲区协作完成数据处理,进程A负责生产数据并放入缓冲区 ,进程B从缓冲区中读数据并输出。进程A与进程B之间的关系就是____B__。 A.互斥关系 B.同步关系 C.互斥与同步 D.无制约关系 5.进程从运行状态到阻塞状态可能就是由于_C____。 A.进程调度程序的调度 B.现运行进程的时间片耗尽 C.现运行进程执行了wait操作 D.现运行进程执行了signal操作 6.下面关于线程的叙述中正确的就是__A____。 A.线程包含CPU现场,可以独立执行程序 B.每个线程有自己独立的地址空间 C.线程之间的通信必须使用系统调用函数 D.进程只能包含一个线程 7.并发进程之间___D___。 A.彼此无关 B.必须同步 C.必须互斥 D.可能需要同步或互斥 8.信号量S不能用于___D___操作。 A.signal B.wait C.赋初值 D.运算表达式 9.___D___就是一种只能进行wait操作与signal操作的特殊变量 A. 调度 B. 进程 C. 同步 D. 信号量 10.分配给进程占用处理机的时间到而强迫进程P让出处理器,或有更高优先级的进程 要运行,迫使正在运行的进程P让出处理器,则进程P状态变化的情况为___A___ A. 运行态->就绪态 B. 运行态->等待态 C. 就绪态->运行态 D. 等待态->就绪态 11.下面关于进程的叙述中正确的就是__A____。 A.进程获得CPU运行就是通过调度得到的 B.优先级就是进程调度的重要依据,一旦确定就不能改变 C.在单CPU的系统中,任何时刻都有一个进程处于运行状态 D.进程申请CPU得不到满足时,其状态变为阻塞 12.操作系统通过__B____对进程进行管理。 A. 进程 B. 进程控制块 C. 进程启动程序 D. 进程控制区 13、 若一个进程拥有100个线程,这些线程属于用户级线程,它们在系统调度执行时间上占用的 时间片个数就是__A____。 A.1 B.100 C.1/100 D.0 14、 到其她3种状态的进程状态就是__D____。 A.就绪 B.阻塞 C.完成 D.执行 15.信号量的初值为2,当前值为-3,则表示等待进程有___C___。 A.1个 B.2个 C.3个 D.5个 16.wait操作可能导致___C___。 A.进程就绪 B.进程结束 C.进程阻塞(等待) D.新进程创建 17.下列的进程状态变化中不可能发生的变化就是___A___。 A.等待 运行 B.运行 等待 C.运行 就绪 D.等待 就绪 18.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信 号量的初值应设置为__C____。 A. 3 B. 1 C. 2 D. 0 19.一个进程释放一种资源将有可能导致一个或几个进程___D___。 A.由就绪变运行 B.由运行变就绪 C.由阻塞变运行 D.由阻塞变就绪 20.进程控制块PCB不包括的内容就是___D___。 A.CPU现场 B.进程优先级 C.进程运行状态 D.文件缓冲区 21.PCB就是描述进程状态与特性的数据结构,一个进程___D___。 A.可以有多个PCB   B.可以与其她进程共用一个PCB C.可以没有PCB     D.只能有唯一的PCB 22.进程与程序的本质区别就是___B___。 A.内存与外存 B.动态与静态特征 C.共享与独占使用计算机资源 D.顺序与非顺序执行指令 23.用于解决进程间互斥的方法就是___B___。 信号量及wait、signal操作 加锁与解锁 信箱方式 消息缓冲方式 特权指令方式 A. 、 与 B. 与 C. 与 D. 与 24.在操作系统中,每个进程具有独立性,进程之间又具有相互制约性。对于任何两个 并发进程,它们___C___。 A.必定无关 B.必定相关 C.可能相关 D.可能相同 25.进程所请求的一次打印输出结束后,将使进程状态从__D____ A.运行态变为就绪态 B.运行态变为等待态 C.就绪态变为运行态 D.等待态变为就绪态 解析:运行中的进程有3种状态:运行状态、就绪状态与等待状态。 运行状态:就是指进程已获得CPU,并且在CPU中执行的状态。就绪状态:就是指进程已具备 运行条件,但由于没有获得CPU而不能运行所处的状态,一旦CPU分配给它,
1KB文件夹快捷方式病毒清除专用附件包含下面几部分。 1、自动化清除脚本 2、NTFS系统盘专用清理工具清理工具和FAT32系统盘专用清理工具 3、恢复文件夹属性工具 首先使用“自动化清除脚本程序”清除系统内此病毒。 ———————————————————————— 如果“自动化清除脚本程序”清除无效。 请使用相应系统盘磁盘格式的“清理工具”清理系统,并重启电脑即可。 然后用“恢复文件夹属性工具”恢复被隐藏的各盘文件夹。 全部内附说明图。 请使用前,一定要准确知道自己的系统盘是什么格式的 正确选择相应磁盘格式的清理工具清理 清理工具执行的程序行为如下: 点击“开始处理”后,程序将执行: 1、结束系统内如下进程: %SystemRoot%\system\svchost.exe %SystemRoot%\SYSTEM32\wscript.exe (注意是%SystemRoot%\system\svchost.exe进程,不是%SystemRoot%\system32\svchost.exe进程) 2、接下来删除以下文件: 删除%SystemRoot%\system\svchost.exe 删除C:\盘至Z:\盘的根目录下的Autorun.inf文件 删除C:\盘至Z:\盘的根目录下的*.vbs文件 删除C:\盘至Z:\盘的根目录下的*.lnk文件 (注意,本程序为了清除磁盘根目录下那些被恶搞出来大量的文件夹快捷方式,只能采取删除所有盘根目录下的*.lnk快捷方式的办法了。如果你有其他文件的快捷方式在磁盘根目录下,将会一并删除,但是本程序的“备份文件夹Backup”内有备份的被删除的东西,自己找找恢复即可。) 3、扫描系统盘所有*.exe文件执行数据流清除,此时清除的是附加在系统文件上的数据流。 fat32位的系统盘内的专用清理工具不扫描数据流,只能无奈的选择搜索全机指定大小的*.vbs文件删除,这个可能导致误删除正常的vbs文件,可以自己查看扫描结束后的日志。 4、删除注册表内被病毒恶搞的项目,此项目能支持被恶搞的系统在双击“我的电脑”时继续启动附加入桌面程序的那数据流病毒。 5、恢复注册表内load项目的默认空值。 6、修复相关文件关联,不能完美修复,但是将就够了,想完美修复的,找些其他工具试吧,一并修复如下项目: 修复系统文件夹选项那显示隐藏文件,显示系统文件的功能,以及显示文件扩展名 。 修复IE主页(这并不是主页被修改,而是这可以同步修复打开IE也启动数据流病毒的问题) 禁用系统自动播放 **************************************** 恢复文件夹属性工具,用来最后恢复各盘内根目录下被隐藏的大量文件夹,看说明图以及说明文件自己正确操作。 注意,本程序修复文件关联那一步不能修复全部被改的文件关联 请事后去这里下载SRENG工具

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值