加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux进程管理(状态+切换+挂起)

(2019-12-10 00:38:08)
分类: 操作系统实践

进程基本状态

一个进程从创建而产生至撤销而消亡的整个生命期间,有时占有处理器执行,有时虽可运行但分不到处理器、有时虽有空闲处理器但因等待某个事件的发生而无法执行。

1、运行(running)态:进程占有处理器正在运行。

2、就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行。

3、等待(wait)态:又称阻塞(blocked)态或睡眠(sleep)态,指进程不具备运行条件,正在等待某个事件的完成。

一个进程在创建后将处于就绪状态。每个进程在执行过程中,任意时刻当且仅当处于上述三种状态之一。

进程状态切换

linux进程管理(状态+切换+挂起)

1、运行态一>等待态:等待使用资源或某事件发生,如等待外设传输;等待人工干预。

2、等待态一>就绪态:资源得到满足或某事件己经发生,如外设传输结束;人工干预完成。

3、运行态一>就绪态:运行时间片到,或出现有更高优先权进程。

进程挂起

挂起进程在OS中可以定义为暂时被淘汰出内存的进程,机器资源有限,在资源不足时,OS对在内存中的程序进行合理的安排,有的进程被暂时调离出内存,当条件允许的时候,会OS再次调回内存,超过一定的时间没有任何动作。

挂起进程原因

1、终端用户的请求

当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停使自己的程序静止下来。使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改,把这种静止状态成为“挂起状态”。

2、父进程的请求

有时父进程希望挂起自己的某个子进程,以便考察和修改子进程,或者协调各子进程间的活动。

3、负荷调节的需要

当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。

4、操作系统的需要

操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账

5、对换的需要

为了缓和内存紧张的情况,将内存中处于阻塞状态的进程换至外存上。

ctrl+z 后怎么恢复挂起的进程

(1) CTRL+Z挂起进程并放入后台

(2) jobs 显示当前暂停的进程

(3) bg %N 使第N个任务在后台运行(%前有空格)

(4) fg %N 使第N个任务在前台运行

默认bg,fg不带%N时表示对最后一个进程操作!

nohup命令提交

缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中:

nohup /root/start.sh &

除非另外指定了输出文件:

nohup command > myout.file 2>&1 &

强烈建议使用

nohup command >> myout.file 2>&1 &

注:前面的命令有时会造成日志不断积累增大,无法使用cat /dev/null > myout.file命令清空。

#输出被重定向到myout.file

使用 jobs 查看任务。

使用 fg %n 关闭。

0

阅读 收藏 喜欢 打印举报/Report
前一篇:哲学
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有