Linux进程切换原理(linux进程切换)-编程知识网

Linux系统如何切换前台进程和后台进程?

一、Shell支持作用控制,有以下命令:  1. command &让进程在后台运行  2. jobs –l 查看后台运行的进程  3. fg %n 让后台运行的进程n到前台来  4. bg %n 让进程n到后台去;  PS:“n”为jobs查看到的进程编号。  二、执行命令&切换至后台  在Linux终端运行命令的时候,在命令末尾加上&符号,就可以让程序在后台运行  root@Ubuntu$ 。/tcpserv01&三、切换正在运行的程序到后台  如果程序正在前台运行,可以使用Ctrl+z 选项把程序暂停,然后用 bg %[number]命令把这个程序放到后台运行,这个步骤分为3步,如下:  1.暂停程序运行CTRL+Z  ctrl + z跟系统任务有关的,ctrl + z可以将一个正在前台执行的命令放到后台,并且暂停。  [Oracle@linuxidc ~]$ sh ins.sh  [1]+Stopped ins.sh  2.查看暂停的程序  察看jobs使用jobs或ps命令可以察看正在执行的jobs。  [oracle@linuxidc ~]$ jobs -l  [1]+ 4524Stopped ins.sh  jobs命令执行的结果,+表示是一个当前的作业,减号表是是当前作业之后的一个作业。  jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped,Terminated  3.切换程序至后台  bg将一个在后台暂停的命令,变成继续执行如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。  [oracle@linuxidc ~]$ bg %1  [oracle@linuxidc ~]$ jobs -l  [1]+ 4524Running ins.sh  4.切换程序至前台  也可以用 fg %[number]指令把一个程序掉到前台运行  [oracle@linuxidc ~]$ fg %1  。/tcpserv01  5.终止后台程序  也可以直接终止后台运行的程序,使用 kill 命令  [oracle@linuxidc ~]$ kill %1  但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息。

在linu系统中,模式切换和进程切换有什么区别?

进程切换是,一个正在运行的进程被中断,操作系统指定另一个进程为运行态,并把控制权交给这个进程。进程切换可以在操作系统从当前正在运行的进程中获得控制权的任何时刻发生,由于进程之间不同状态的切换,需要重新分配各种资源,操作系统需要做更多的工作。

模式切换是,用户态和内涵态之间的切换。因为他们的资源是共享的,所以效率高并且不改变正在运行的进程的状态。