| 分类: 操作系统实践 |
进程基本状态
一个进程从创建而产生至撤销而消亡的整个生命期间,有时占有处理器执行,有时虽可运行但分不到处理器、有时虽有空闲处理器但因等待某个事件的发生而无法执行。
1、运行(running)态:进程占有处理器正在运行。
2、就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行。
3、等待(wait)态:又称阻塞(blocked)态或睡眠(sleep)态,指进程不具备运行条件,正在等待某个事件的完成。
一个进程在创建后将处于就绪状态。每个进程在执行过程中,任意时刻当且仅当处于上述三种状态之一。
进程状态切换

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 关闭。

加载中…