当前位置:首页 > > 充电吧
[导读]fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一。& 最经常被用到   这个用在一个命令的最后,可以把这个命

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

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


$ pct &

二。ctrl + z


   可以将一个正在前台执行的命令挂起
三。jobs

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

jobs命令执行的结果,+(加号)表示是一个当前的作业,- (减号)表示是一个当前作业之后的一个作业,jobs -l选项可显示所有任务的PID.

jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;

也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;


$ jobs -l
[1]+ 15432 Stopped (tty output)     vim git.txt

[1] 表示jobnumber是1,PID是进程标识号,jobs的状态是stopped,后面是命令。


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

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


$ fg %1
vim git.txt

用vim打开git.txt在前台运行,可按ctrl + Z 将其挂起,bg即放在后台运行。


五。bg

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

     通过bg %num 即可将挂起的job的状态由stopped改为running,仍在后台执行;当需要改为在前台执行时,执行命令fg %num即可;


[yanxia.dong@eslruntime07 ~]$ pct
# 键盘输入Ctrl + Z
^Z
[1]+ Stopped    pct
[yanxia.dong@eslruntime07 ~]$ jobs -l
[1]+ 5270 Stopped           pct
[yanxia.dong@eslruntime07 ~]$ bg %1
[1]+ pct &
[yanxia.dong@eslruntime07 ~]$ jobs -l
[1]+ 5270 Running           pct &

上面的pct是图形用户界面程序。非图形用户界面略有不同。


     如果后台中有多个命令,可以用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

  $ pct &

  这样打开pct 后,终端的提示又回来了。现在pct在后台运行着呢;但万一你运行程序时忘记使用“&”了,又不想重新执行;

你可以先使用ctrl+z挂起程序,然后敲入bg命令,这样程序就在后台继续运行了。

  概念:当前任务

  如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务。

所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务。


==== 前台进程的挂起: ctrl+Z;

==== 进程的终止:

    ----  后台进程的终止:

   方法一:通过jobs命令查看job号(假设为num),然后执行kill %num   $ kill %1

   方法二:通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid  $ kill 5270

    ----  前台进程的终止:ctrl+c

  kill的其他作用 : kill除了可以终止进程,还能给进程发送其它信号,使用kill -l可以察看kill支持的信号。 SIGTERM是不带参数时kill发送的信号,

意思是要进程终止运行,但执行与否还得看进程是否支持。如果进程还没有终止,可以使用kill -SIGKILL pid,这是由内核来终止进程,进程不能监听这个信号。 

==============================================================================================================

         ctrl+c强行中断当前程序的执行。

         ctrl+d表示结束当前输入(即用户不再给当前程序发出指令),那么Linux通常将结束当前程序。

         ctrl+z表示将当前前台运行的经常放在后台并挂起,如需其在后台继续运行,需用“bg 进程号”使其继续运行;再用"fg 进程号"可将后台进程前台化。

 

-----  ctrl+c,ctrl+d,ctrl+z在linux中意义:

        ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。
        ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。
        ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。
        ctrl- 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件。

-----  Key Function
        Ctrl-c Kill foreground process
        Ctrl-z Suspend foreground process
        Ctrl-d Terminate input, or exit shell
        Ctrl-s Suspend output
        Ctrl-q Resume output
        Ctrl-o Discard output
        Ctrl-l Clear screen



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭