linux 终端的后台任务结束详解

本文发布时间: 2019-Mar-22
在用管理员执行一个命令后,用Ctrl+Z把命令转移到了后台。导致无法退出终端。输入命令:exit终端显示:There are stopped jobs.解决方法:方法一、输入命令:jobs终端显示:[1]+ Stopped vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /)KILL %1方法二、输入命令:jobs -l终端显示:[1]+ 4664 停止 vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /)看到4664,这个就是PID了现在开始杀掉它:输入命令:kill 4664终端没有显示。ok。再用jobs命令查看,确认已经杀掉了Linux Jobs等前后台运行命令解A,Shell支持作用控制,有以下命令:1. command& 让进程在后台运行2. jobs 查看后台运行的进程3. fg %n 让后台运行的进程n到前台来4. bg %n 让进程n到后台去;PS:"n"为jobs查看到的进程编号.B.下列转:http://blog.chinaunix.net/u/1604/showart_1079559.htmlfg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一。& 最经常被用到这个用在一个命令的最后,可以把这个命令放到后台执行二。ctrl + z可以将一个正在前台执行的命令放到后台,并且暂停三。jobs查看当前有多少在后台运行的命令四。fg将后台中的命令调至前台继续运行如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)五。bg将一个在后台暂停的命令,变成继续执行如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)#Linux下使用Shell命令控制任务Jobs执行下列命令可以用来操纵进程任务:ps 列出系统中正在运行的进程;kill 发送信号给一个或多个进程(经常用来杀死一个进程);jobs 列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息;如果报告了一个任务的终止(即任务的状态被标记为Terminated),shell 从当前的shell环境已知的列表中删除任务的进程标识;bg 将进程搬到后台运行(Background);fg 将进程搬到前台运行(Foreground);将job转移到后台运行如果你经常在X图形下工作,你可能有这样的经历:通过终端命令运行一个GUI程序,GUI界面出来了,但是你的终端还停留在原地,你不能在shell中继续执行其他命令了,除非将GUI程序关掉。为了使程序执行后终端还能继续接受命令,你可以将进程移到后台运行,使用如下命令运行程序: #假设要运行xmms$xmms &这样打开xmms后,终端的提示又回来了。现在xmms在后台运行着呢;但万一你运行程序时忘记使用“&”了,又不想重新执行;你可以先使用ctrl+z挂起程序,然后敲入bg命令,这样程序就在后台继续运行了。概念:当前任务如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务。察看jobs使用jobs或ps命令可以察看正在执行的jobs。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2020-Jul-13 01:15am
栏目列表