博客
关于我
Linux之普通进程 后台进程 守护进程
阅读量:550 次
发布时间:2019-03-09

本文共 1469 字,大约阅读时间需要 4 分钟。

一、普通进程与后台进程

默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的:

zsm@wilburUbun:~/application/zookeeper-3.4.8/bin$ ./zkServer.sh start &[1] 21304zsm@wilburUbun:~/application/zookeeper-3.4.8/bin$ ZooKeeper JMX enabled by defaultUsing config: /home/zsm/application/zookeeper-3.4.8/bin/../conf/zoo.cfgStarting zookeeper ... STARTED[1]+  Done                    ./zkServer.sh start

切换到后台的进程称为job。切换到后台时会输出相关job信息,以前面的输出[1] 21304为例:[1]表示job ID,21304表示进程ID是21304。 切换到后台的进程,仍然可以用ps命令查看,或通过jobs命令只查看所有job(后台进程)。

后台进程会随着Shell的退出而结束。

二、守护进程

如果一个进程永远都是以后台方式启动,并且不能受到Shell退出影响而退出,一个正统的做法是将其创建为守护进程(daemon)。守护进程值得是系统长期运行的后台进程,类似Windows服务。守护进程信息通过ps –a无法查看到,需要用到–x参数,当使用这条命令的时候,往往还附上-j参数以查看作业控制信息,其中TPGID一栏为-1就是守护进程。

三、守护进程与后台进程

后台进程的文件描述符也是继承于父进程,例如shell,所以它也可以在当前终端下显示输出数据。但是daemon进程自己变成了进程组长,其文件描述符号和控制终端没有关联,是控制台无关的。

基本上任何一个程序都可以后台运行,但守护进程是具有特殊要求的程序,比如要脱离自己的父进程,成为自己的会话组长等,这些要在代码中显式地写出来换句话说,守护进程肯定是后台进程,但反之不成立。 

四、进程查看

守护进程:ps -x

普通进程:ps 或 带参数的其他ps命令

后台进程:jobs 或 前面的上述的那些命令

五、跟系统任务相关的几个命令

fg、bg、jobs、&、ctrl+z

1. & 最经常被用到

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

2. ctrl + z

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

3. jobs

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

4. fg

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

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

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

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

  1. jobs列举出后台作业信息。([作业号]   运行状态   作业名称)

  2. ctrl+z 将任务放到后台去,并暂停;

  3. bg  <%int> 将后台任务唤醒,在后台运行;

  4. fg   <%int> 将后任务的程序放到前台。

原文链接:

转载地址:http://jxfsz.baihongyu.com/

你可能感兴趣的文章
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO三大组件基础知识
查看>>
NIO与零拷贝和AIO
查看>>
NIO同步网络编程
查看>>