Linux任务前后台的切换

Shell支持作用控制,有以下命令实现前后台切换:

  1. command& 让进程在后台运行

  2. jobs 查看后台运行的进程

  3. fg %n 让后台运行的进程n到前台来

  4. bg %n 让进程n到后台去
      5. kill %n 杀死job

  PS:"n"为jobs命令查看到的job编号,不是进程编号.

  fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的.

一、& 最经常被用到

  这个用在一个命令的最后,可以把这个命令放到后台执行

二、ctrl + z

  可以将一个正在前台执行的命令放到后台,并且暂停

三、jobs

  查看当前有多少在后台运行的命令

四、fg

  将后台中的命令调至前台继续运行

  如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。

五、bg

  将一个在后台暂停的命令,变成继续执行

  如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。

实例:

假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,终止这个程序,然后可以看到系统提示:

[1]+ Stopped ./start.sh

如果没有此提示,则用 jobs 命令查看任务:

#jobs

[1]+ suspended ./start.sh &

然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)

#bg 1

[1]+ ./start.sh &

用 jobs 命令查看正在运行的任务:

#jobs

[1]+ Running ./start.sh &

如果想把它调回到前台运行,可以用

#fg 1

./start.sh

这样,你在控制台上就只能等待这个任务完成了。

时间: 2024-12-11 08:33:51

Linux任务前后台的切换的相关文章

Linux 前后台进程切换(转)

Linux 前后台进程切换 当你用shell启动一个程序时,往往他是在前台工作的. 例如经常用PUTTY连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行.因此有必要进行前后台进程的切换. 例如直接在终端里输入firefox,那么会打开firefox,但当你关闭此终端或者ctrl+c强制终止时,firefox也随机关闭了.你可以在执行时后面加一个&,这样就在后台工作了. Shell支持作用控制,有以下命令: 1. command  & 让

shell特殊变量和前后台任务切换方法

echo '$0获取当前执行的shell脚本的文件名:'$0 echo '$n获取当前执行的shell脚本的第N个参数值:''$1'=$1 '$2'=$2 '$3'=$3 echo '$*获取当前执行的shell脚本的所有参数:'$* echo '$#获取当前执行的shell脚本的命令行中参数总个数:'$# echo '$$获取当前执行的shell脚本的进程号(PID):'$$ sleep 2 & echo '$!获取执行上一个指令的PID:'$! echo '$?获取取执行上一个指令的返回值:

Linux使用shell自动切换网关

编写名为auto_change_gw.sh的脚本,用来自动切换主机网关,相关说明如下: 1)有2个可用的网关地址,分别是主网关192.168.10.254和备用网关192.168.10.253,当前使用的默认网关是192.168.10.254: 2)若当前使用的网关地址192.168.10.254出现问题,自动把网关地址切换为192.168.10.253: 3)当网关地址192.168.10.254能正常工作后,当前主机再把网关地址切换到192.168.10.254. 讲下思路: 1.先用whi

[linux服务器][bash]让切换目录更方便

本文转载:[linux服务器][bash]让切换目录更方便: 一,为何要使用这几个命令?   可能大家会有疑问,为何要使用这几个命令,   难道用cd不就可以切换目录了吗?   没错,使用cd就可以切换到需要访问的目录,   但是有时会是一个路径很长,层次很多的目录,进到此目录下后,这时我们不小心运行了 cd命令,   理所当然,我们回到了自己的home目录,这时如果想回去怎么办? 还有:因为工作的需要,我们需要不停在几个很深层的目录之间切换,不止一个,   那么即使有tab键帮忙,我们也会因为

linux 学习记录- 用户切换

一.用户切换:      缘由:1.使用一般账号操作系统,这是平日操作的好习惯.2.用较低权限启动系统服务:如apache软件,可以建立        apache用户来启动apache软件,如果这个程序被攻破,系统也不至于损毁.3.软件本身的限制. a.su  最简单的切换用户身份的方法       使用方法:  su [-lm][-c 指令][username]            详解: -:代表使用login-shell的变量档案读取方式来登入系统,若后面没有用户名,代表切换到root

Linux系统中用户切换

1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参数说明 -f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell. -l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME.SHELL和USER等)都是以该使用者(USER)为主,并 且工作目录也会改变.如果没有指

Linux 系统中用户切换(su user与 su - user 的区别)

1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参数说明 -f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell. -l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME.SHELL和USER等)都是以该使用者(USER)为主,并 且工作目录也会改变.如果没有指

Linux 系统中用户切换

1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参数说明 -f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell. -l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME.SHELL和USER等)都是以该使用者(USER)为主,并 且工作目录也会改变.如果没有指

linux内核:进程切换

进程是现代操作系统的核心概念之一,用于分配系统(CPU,内存)资源的使用. 了解linux进程及进程切换的知识,首先要理解进程与程序的区别,进程是执行流,是动态概念:程序是数据与指令序列的集合,是静态概念.进程作为动态的 执行流,可以用execv系统调用自由选择一个程序(只要有权限)来执行的,理解这一点很重要.在阅读本书的第三章<进程>中,有两个地方比较难于理解 的. 1 switch_to宏的last参数 书中讨论switch_to宏(第110页)时,提到,该宏有3个参数:prev,next