精华内容
下载资源
问答
  • SQL挂起状态清除工具

    2015-09-19 11:42:18
    SQL挂起状态清除工具
  • 进程的挂起状态解析

    千次阅读 2020-05-16 19:53:48
    文章目录引言挂起状态是什么?挂起状态和阻塞状态有什么区别?如何主动挂起程序总结 引言 以前对于这个概念始终比较模糊,遂在解决后记录博客,希望帮助到有同样问题的朋友。 挂起状态是什么? 我们一般认为进程有五...

    引言

    以前对于这个概念始终比较模糊,遂在解决后记录博客,希望帮助到有同样问题的朋友。

    挂起状态是什么?

    我们一般认为进程有五个状态,即新建态,就绪态,阻塞态,运行态,终止态
    在这里插入图片描述
    而在这些状态之外还存在着一个状态,我们称之为挂起状态,它既可以是我们客户主动使得进程挂起,也可以是操作系统因为某些原因使得进程挂起。总而言之引入挂起状态的原因有以下几种:

    1. 用户的请求可能是在程序运行期间发现了可疑的问题,需要暂停进程
    2. 父进程的请求考察,协调,或修改子进程
    3. 操作系统的需要对运行中资源的使用情况进行检查和记账
    4. 负载调节的需要有一些实时的任务非常重要,需要得到充足的内存空间,这个时候我们需要把非实时的任务进行挂起,优先使得实时任务执行
    5. 定时任务一个进程可能会周期性的执行某个任务,那么在一次执行完毕后挂起而不是阻塞,这样可以节省内存
    6. 安全系统有时可能会出现故障或者某些功能受到破坏,这是就需要将系统中正在进行的进程进行挂起,当系统故障消除以后,对进程的状态进行恢复

    既然我们知道了挂起状态引入的原因,那么我们再来看看带有挂起状态的进程状态转移过程:
    在这里插入图片描述

    相比于一般的五个状态的进程状态转移图,我们引入了两种挂起状态的类型,即就绪挂起状态阻塞挂起状态。它们的区别就是就绪挂起状态其实还是在内存中的,而后者是在外存中的。接下来我们说一说新加入的几个状态转化的步骤:

    1. 运行状态->就绪挂起状态:这里发生在客户在程序正在运行是直接挂起程序。注意这里的箭头是单向的,所以在就绪挂起状态结束以后实际上是执行激活步骤,进入就绪状态,等待处理机调度。
    2. 阻塞状态->阻塞挂起状态:当内存空间比较紧缺的时候,如果有存在在内存中的,而且是处于阻塞状态的进程,那么就让他更需要内存的程序占用内存,自己进入阻塞挂起状态,PCB等数据存入外存。因为现在这个进程也不能进入就绪状态,这个程序在内存中是没有什么作用的。
    3. 阻塞挂起状态->就绪挂起状态:当阻塞状态等待的IO事件或其他事件到来的时候状态发生改变。
    4. 就绪挂起状态->就绪状态:如果内存中没有就绪态进程,操作系统需要调入一个进程继续执行。此外,当处于就绪/挂起状态的进程比处于就绪态的任何进程的优先级都要高时,也可以进行这种转换。这种情况的产生是由于操作系统设计者规定,调入高优先级的进程比减少交换量更重要
    5. 就绪状态->就绪挂起状态:通常,操作系统更倾向于挂起阻塞态进程而不是就绪态进程,因为就绪态进程可以立即执行,而阻塞态进程占用了内存空间但不能执行。但如果释放内存以得到足够空间的唯一方法是挂起一个就绪态进程,那么这种转换也是必需的。并且,如果操作系统确信高优先级的阻塞态进程很快就会就绪,那么它可能选择挂起一个低优先级的就绪态进程,而不是一个高优先级的阻塞态进程。

    挂起状态和阻塞状态有什么区别?

    这里大多来自其他博主的文章,有以下几个方面的区别:

    1. 是否释放CPU:阻塞(pend)就是任务释放CPU,其他任务可以运行,一般在等待某种资源或信号量的时候出现。挂起(suspend)不释放CPU,如果任务优先级高就永远轮不到其他任务运行。一般挂起用于程序调试中的条件中断,当出现某个条件的情况下挂起,然后进行单步调试。
    2. 是否主动:显然阻塞是一种被动行为,其发生在磁盘,网络IO,wait,lock等要等待某种事件的发生的操作之后。因为拿不到IO资源,所以阻塞时会放弃 CPU的占用。而挂起是主动的,因为挂起后还要受到CPU的监督(等待着激活),所以挂起不释放CPU,比如sleep函数,站着CPU不使用。
    3. 与调度器是否相关:任务调度是操作系统来实现的,任务调度时,直接忽略挂起状态的任务,但是会顾及处于pend下的任务,当pend下的任务等待的资源就绪后,就可以转为ready了。ready只需要等待CPU时间,当然,任务调度也占用开销,但是不大,可以忽略。可以这样理解,只要是挂起状态,操作系统就不在管理这个任务了。

    上面我们提到了sleep函数和wait函数,我们把它们单独拎出来看看:

    sleep()和wait()函数的区别:

    1. 两者比较的共同之处是:两个方法都是使程序等待多少毫秒
    2. 最主要区别是:sleep()方法没有释放锁。而wait()方法释放了锁,使得其他线程可以使用同步控制块或者方法
    3. sleep()指线程被调用时,占着CPU不工作,形象的说明为“占着CPU”睡觉

    sleep(2000)表示:占用CPU,程序休眠2秒。
    wait(2000)表示:不占用CPU,程序等待2秒。

    如何主动挂起程序

    ctrl+z:挂起,程序放到后台,程序没有结束。
    jobs:查看被挂起的程序工作号

    恢复进程执行时,有两种选择:fg命令将挂起的作业放回到前台执行;用bg命令将挂起的作业放到后台执行
    格式:fg 工作号;bg 工作号

    总结

    挂起状态一般不被放在进程的常用状态之一,常见的,”五大“状态里就没有挂起状态,但其实际上还是非常重要的,值得我们每一个人好好学习。

    参考:

    展开全文
  • 进程的挂起状态

    2021-05-14 08:52:38
    在某些系统中,为了更好的管理和调度进程及适应系统的功能目标,引入了挂起状态。 引入挂起状态的原因 1.系统有时可能会出现故障或某些功能受到损坏,这时就需要暂时将系统中的进程挂起,以便于系统故障消除后,再将...

    在某些系统中,为了更好的管理和调度进程及适应系统的功能目标,引入了挂起状态。
    引入挂起状态的原因
    1.系统有时可能会出现故障或某些功能受到损坏,这时就需要暂时将系统中的进程挂起,以便于系统故障消除后,再将这些进程恢复到原来状态。
    2.用户检查自己作业的中间执行情况和中间结果时,应同预想想法不符而产生后,这时用户要求挂起进程,以便进行某些检查和改正。
    3.系统中有时负荷过重(进程数过多),资源数相对不足,从而造成系统效率下降。此时需要挂起一部分进程以调度系统负荷,等系统中负荷减轻后在恢复被挂起进程的执行。
    4.在操作系统中引入了虚拟存储管理机术后,需要区分进程是驻留在内存还是外存,此时可以用挂起表示驻留在外存。。

    展开全文
  • 这幅图代表着有一个挂起状态的进程状态转换图。 但是有两个比较明显的错误: 只有阻塞状态才能执行挂起状态挂起状态结束后,进程直接就进入了就绪队列。 所以,我们需要两个额外的状态来完善这幅图: 阻塞且被...

    在这里插入图片描述
    这幅图代表着有一个挂起状态的进程状态转换图。

    但是有两个比较明显的错误

    • 只有阻塞状态才能执行挂起状态。
    • 挂起状态结束后,进程直接就进入了就绪队列。

    所以,我们需要两个额外的状态来完善这幅图:

    • 阻塞且被挂起
    • 就绪但被挂起

    在这里插入图片描述
    虚线为可能发生, 但非必须发生
    注意: 从阻塞/挂起 -> 就绪/挂起,是可以发生的。有人可能会有疑问,既然等待IO时被挂起,数据拿出内存,那回头IO发生时还能写进内存吗?数据不是已经都被挪出去了吗?挪出去的仅仅是用户程序和用户数据。我们的IO命令已经写在了由系统管理的缓存当中,IO发生时,内容也被写进了缓存。

    展开全文
  • 【VMWARE】Ubuntu64:错误导致继续运行操作失败。请保留挂起状态并纠正错误,或放弃挂起状态。 原因:虚拟机挂起后没有正常关机; 解决方案:直接放弃挂起状态挂起状态前的东西重新再来一次; ...

    【VMWARE】Ubuntu64:错误导致继续运行操作失败。请保留挂起状态并纠正错误,或放弃挂起状态。
    原因:虚拟机挂起后没有正常关机;
    解决方案:直接放弃挂起状态,挂起状态前的东西重新再来一次;

    展开全文
  • 主要介绍了SQLServer数据库处于恢复挂起状态的解决办法 ,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 解决Windows挂起状态

    万次阅读 2016-05-13 21:44:56
    手动排除Windows的挂起状态 有些软件安装时可能遇到下面的提示: 遇到了以下问题  安装程序检测到计算机重新启动的过程可能暂停。建议退出安装  序,重新启动计算机,然后再重试。 如下图: 挂起...
  • 错误提示: xxx.vmss”还原虚拟机状态时出错。 错误导致继续运行操作失败。请保留挂起状态并纠正错误,或放弃挂起状态。 解决办法: 点击“放弃”,重启即可。 ...
  • 如何让程序在后台保持挂起状态  程序的状态分为:前台运行,后台挂起,后台休眠 为了让项目的网络请求保持活跃状态,需要对程序进行设置. 在applicationDidEnterBackground方法中调用下面的方法,可以让程序进入...
  • Oracle数据库的静默状态和挂起状态 1. 挂起状态 : 暂停数据的所有IO操作。 sql>alter system suspend (启动挂起状态) sql>alter system resume (恢复正常状态...
  • 静默状态和挂起状态是两种特殊的数据库状态。当数据库处于静默状态时,只有SYS和SYSTEM用户能够在数据库中进行操作。当数据库处于挂起状态时,数据库IO操作都被暂时停止。利用这两种数据库状态,DBA能够完成一...
  • sql server 2016 Always on 之 数据库处于恢复挂起状态 ①、背景描述 上次使用三台服务器搭建的sql server 2016 集群,搭建好之后就没管了,后来测试服务器断电就没启。 今天准备重新测试使用两台服务器搭建sql ...
  • 安装处于挂起状态

    2011-05-19 16:43:08
    安装软件处于挂起状态,需要删除注册表里才能继续安装,记不住在哪个位置,存一个在这里,供大家用时查看。 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager下的PendingFileRenameOperations ...
  • 关于SQLserver2016数据库处于恢复挂起状态的解决方案 转自:https://blog.csdn.net/fsq0827/article/details/78500768
  • 在applicationDidEnterBackground方法中调用下面的方法,可以让程序进入挂起状态,但在未知时间内,可能会被系统设置为休眠,如果在将程序设置为播放器,并且循环播放一个MP3文件,可以保持永久挂起状态. ...
  • 25、进程的挂起状态

    2021-04-01 23:47:39
    此时,这些等等待 I/O 的进程状态就会由 阻塞 转变为 挂起。 二、导致进程被挂起的原因 交换: 其他OS原因: 交互式用户请求 定时: 父进程请求: 三、被挂起进程的特征 不能立即执行 可能是等待某事件发生。...
  • 打开的游览器为什么是挂起状态的?</strong></p> <p style="text-align:center"><img alt="" height="1080" src="https://img-ask.csdnimg.cn/upload/1614664868574.gif" width="1920" /></p> <p><strong>我...
  •  安装完SQL Server 2012后,准备安装DQS服务,但是总是提示:操作“检查系统重新引导是否处于挂起状态”已完成,但有错误,正在中止安装。非常无奈,因为都根据其要求重启计算机很多次了。(祸不单行,安装Adobe DW5...
  • 最近研究执行挂起状态,稍微总结一下,以后继续补充: SuspendThread、ResumeThread、ExitThread和TerminateThread函数均能够实现停止一个线程的进行,但它们的含意又是不同的。 1)SuspendThread和ResumeThread。...
  • 进程的挂起状态详细分析

    千次阅读 2020-04-21 10:17:35
    通常我们所认为的进程有...事实上还存在被挂起的进程。 交换的需要 前面图中三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。 但是,可以证明往模型中增...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,734
精华内容 2,293
关键字:

挂起状态