`
phoenix007
  • 浏览: 436154 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux后台进程管理

阅读更多
fg、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。

  jobs命令执行的结果,+表示是一个当前的作业,减号表是是一个当前作业之后的一个作业,jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;

  进程的挂起

  后台进程的挂起:

  在solaris中通过stop命令执行,通过jobs命令查看job号(假设为num),然后执行stop %num;

  在redhat中,不存在stop命令,可通过执行命令kill -stop PID,将进程挂起;

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

  前台进程的挂起:

  ctrl+Z;

  进程的终止

  后台进程的终止:
  方法一:
  通过jobs命令查看job号(假设为num),然后执行kill %num

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

  前台进程的终止:

  ctrl+c

  kill的其他作用
  kill除了可以终止进程,还能给进程发送其它信号,使用kill -l 可以察看kill支持的信号。

  SIGTERM是不带参数时kill发送的信号,意思是要进程终止运行,但执行与否还得看进程是否支持。如果进程还没有终止,可以使用kill -SIGKILL pid,这是由内核来终止进程,进程不能监听这个信号。
分享到:
评论

相关推荐

    Linux后台进程管理的一些命令小结.pdf

    本文将对一些常用的Linux后台进程管理命令进行总结,帮助你更好地理解和掌握这些工具。 首先,我们讨论如何将命令放到后台执行。在Linux中,如果你希望一个命令在后台继续运行,可以在命令末尾添加"&"符号。例如,`...

    linux 进程前后台切换命令

    假设我们有一个名为 `start.sh` 的脚本,我们需要将其作为后台进程运行,并且能够随时查看它的状态或将其切换回前台。 1. **启动后台进程**: ```bash sh ./start.sh & ``` 2. **查看后台进程**: ```bash ...

    开发Linux操作系统后台服务进程详解

    守护进程在Linux操作系统中扮演着重要的角色,它们作为后台服务,独立于控制终端,执行预设的任务或响应特定事件。常见的守护进程有inetd(Internet服务器)、httpd(Web服务器)、crond(作业规划进程)和lpd(打印...

    Linux后台服务管理模块

    总结,Linux后台服务管理模块涵盖了从传统的System V init到现代systemd的各种管理方式,以及与其相关的配置、控制和调试技巧。了解并掌握这些知识,将有助于更高效地维护和管理Linux系统中的后台服务。

    screen下载、linux后台运行程序、linux下screen下载

    screen下载、linux后台运行程序非常实用、后台任务、screen linux redhat 、CentOs系统screen下载、linux后台运行程序、screen linux redhat 、CentOs系统screen下载、linux后台运行程序、screen linux redhat 、...

    Unix/linux进程池管理

    在Unix/Linux系统中,进程池(Process Pool)是一种高效的进程管理机制,广泛应用于服务器和后台服务,例如银行系统。进程池的基本思想是预先创建一组进程,这些进程在池中待命,等待处理到来的任务,而不是每次有新...

    linux系统进程管理

    ### Linux系统进程管理 #### 进程基础知识 在Linux系统中,进程是程序运行时的实体,是系统进行资源分配和调度的基本单位。一个程序在被执行时,会由操作系统加载到内存中,并创建一个进程来运行它。进程具有生命...

    linux守护进程,后台进程教程实例

    这个是linux守护进程的实例,非常的简洁,内有makefile,c文件,脚本都有,希望能对你有所帮助。脚本的教程见:http://blog.csdn.net/luopeiyuan1990/article/details/8193359#t19 守护进程的教程见:...

    Linux的进程管理及作业控制.pdf

    Linux进程管理及作业控制 Linux作为一个多用户多任务的操作系统,能够同时执行多个任务,系统上同时运行着多个进程,正在执行的一个或多个相关进程称为一个作业。使用作业控制,用户可以同时运行多个作业,并在需要...

    Linux 进程管理命令

    Linux 进程管理命令是 Linux 操作系统中用于管理进程的命令,它们是 Linux 系统管理员的基本工具。这些命令可以用来查看、管理和控制进程,从而确保系统的稳定运行。 1. 程序和进程 在 Linux 系统中,程序是指为了...

    Linux后台运行命令

    ### Linux后台运行命令详解 #### 一、引言 在Linux操作系统中,用户可以通过各种方式启动后台任务。本文将重点介绍几种常用的Linux后台运行命令,包括快捷键方式以及`cron`和`crontab`命令的详细使用方法。这两种...

    linux进程管理pdf文件

    ### 进程的基本概念 #### 1. 进程的定义 ...综上所述,Linux 进程管理涉及了进程的概念、类型、启动方式以及常用的进程管理命令。理解和掌握这些内容对于有效地管理和优化Linux系统的性能至关重要。

    LINUX教程(各种操作、LINUX所有管理命令、所有磁盘管理、用户管理、服务器管理、进程管理等等。。)

    `ps`显示当前进程状态,`kill`和`pkill`发送信号来结束进程,`nohup`让程序在后台运行不受终端关闭影响,`nice`和`renice`调整进程优先级。 七、系统监视和备份 Linux提供多种工具监控系统性能,如`iostat`分析磁盘...

    Linux进程管理和网络管理.pdf

    5. 前后台进程管理 在shell中执行程序时,可以将程序放入后台执行。这通常通过在命令后加“&”来实现。同时,可以通过Ctrl+z将当前运行的前台进程挂起,使用jobs查看被挂起的进程。fg和bg命令分别可以将挂起的进程调...

    linux实验 用户管理和进程管理

    在Linux系统管理中,用户管理和进程管理是两个关键的领域。这个实验主要涵盖了这两个方面的内容,旨在让学生熟悉和掌握Linux中的基本操作。 首先,我们来看用户管理部分: 1. 创建用户登录脚本模板:在/Linux/目录...

    Linux中进程控制与管理

    这种将进程与程序分离的设计赋予了Linux极大的灵活性,让管理员能够有效地控制和管理正在运行的进程,包括其输入、输出以及执行状态。 #### 进程ID与父子进程关系 每个进程都有一个唯一的标识符——**进程ID**...

    Linux下进程管理

    在Linux操作系统中,进程是程序的一次执行过程。每个进程都有其独特的标识符——进程ID(PID)。进程具有生命周期,从创建到终止,这一过程中,进程可能会处于不同的状态,如运行态、就绪态、等待态等。 #### 二、...

    Python-基于python实现的linux后台日志监控小项目

    【Python-基于Python实现的Linux后台日志监控小项目】 在IT运维中,实时监控Linux系统的后台日志是一项至关重要的任务。它可以帮助我们快速发现系统异常、错误信息以及潜在的安全问题。本项目“Python-基于Python...

    Linux后台运行py服务程序1

    在管理后台进程时,还有一些其他有用的命令: - `jobs`:这个命令可以用来查看当前Shell会话中的所有后台任务。 - `fg %n`:将后台任务编号为n的任务放到前台继续执行。 - `bg %n`:将暂停的前台任务编号为n的任务...

    Linux进程调度器的设计--Linux进程的管理与调度(十七) - 嵌入式Linux中文站1

    批处理进程则通常在后台运行,如编译程序、数据库搜索引擎等,对响应时间要求较低。实时进程,如视频音频处理、机器人控制,对响应时间有严格要求,不能被低优先级进程阻塞。 针对不同类型的进程,Linux使用不同的...

Global site tag (gtag.js) - Google Analytics