原文链接为:http://blog.sina.com.cn/s/blog_963453200102uya7.html

& 放在启动参数后面表示设置此进程为后台进程

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

如:

tianfang > run &

[1]
11319

tianfang > ./game.e 1 &

进程切换到后台的时候,我们把它称为job。切换到后台时会输出相关job信息,以前面的输出为[1]
11319例:[1]表示job
ID是1,11319表示进程ID是11319。切换到后台的进程,仍然可以用ps命令查看。

前后台间切换

可以通过bg (background)和fg(foreground)命令将其在前后台间状态切换。

守护进程

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

tianfang
> ps xj
    
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
    
953 1190 1190 1190 ? -1 Ss 1000 0:00 /bin/sh
/usr/bin/startkde
    
1 1490 1482 1482 ? -1 Sl 1000 0:00 /usr/bin/VBoxClient
–seamless
    
1 1491 1477 1477 ? -1 Sl 1000 0:00 /usr/bin/VBoxClient
–display

创建守护进程最关键的一步是调用setsid函数创建一个新的Session,并成为Session
Leader。成功调用该函数的结果是:

    • 创建一个新的Session,当前进程成为Session
      Leader,当前进程的id就是Session的id
    • 创建一个新的进程组,当前进程成为进程组的Leader,当前进程的id就是进程组的id
    • 如果当前进程原本有一个控制终端,则它失去这个控制终端,成为一个没有控制终端的进程。

Linux shell中运行命令后加上字符“&”的作用(转)的更多相关文章

  1. Linux shell中运行命令后加上字符“&”的作用

    上午登录服务器编译运行服务端程序的时候,学到了在命令后加上字符“&”后,退出shell,运行的命令可以继续运行.不解原因,并到网上搜索了以下,明白了点! 以下是搜索到的片段: & 放在 ...

  2. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  3. linux系统中ls命令的用法

    普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间: ...

  4. Linux Shell中有三种引号的用法

    Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...

  5. Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)

    case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2        ;; *) 默认执行的命令序列  ...

  6. (linux shell)第二章--命令之乐(一)

    文章来自于我的个人博客:(linux shell)第二章--命令之乐(一)    上一章我们描写叙述了一些linux shell中须要注意的一些语法.接下来我们開始了解linux shell的经常使用 ...

  7. linux Shell中常用的条件判断

    linux Shell中常用的条件判断 -b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d ...

  8. (转)shell中test命令方法详解

    test命令用法.功能:检查文件和比较值 shell中test命令方法详解 原文:https://www.cnblogs.com/guanyf/p/7553940.html 1)判断表达式 if te ...

  9. [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)

    Linux shell中2>&1的含义解释 (全网最全,看完就懂) https://blog.csdn.net/zhaominpro/article/details/82630528   ...

随机推荐

  1. A Magic Lamp HDU - 3183(RMQ返回下标)

    原文地址:https://blog.csdn.net/acdreamers/article/details/8692384 题意: 对于一个序列A[1...N],一共N个数,除去M个数使剩下的数组成的 ...

  2. [BZOJ1588][HNOI2002]营业额统计 无旋Treap

    [HNOI2002]营业额统计 时间限制: 5 Sec  内存限制: 162 MB 题目描述 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以 ...

  3. 【agc008F】Black Radius

    Portal --> agc008F Solution  这题好神仙啊qwq疯狂orz看懂日文题解的sjk太强啦qwq ​   ​  首先我们要统计的东西,是一个涂黑的连通块,然后我们考虑找一个 ...

  4. 【learning】中国剩余定理

    问题描述 "今有物不知其数,三三数之余二,五五数之余三,七七数之余二.问物几何?" emmm这是..最开始这个问题被提出来的描述 其实说白了就是求解一次同余式组 然后还可以..解决 ...

  5. linux 进程信号集合 sigset_t

    sigset_t 号集及信号集操作函数:信号集被定义为一种数据类型: typedef struct { unsigned long sig[_NSIG_WORDS]: } sigset_t 信号集用来 ...

  6. 如何设置eclipse格式化xml代码时不自动换行

    如何设置eclipse格式化代码时不自动换行 2015年12月23日 09:08:36 qq_20889581 阅读数:3770 标签: eclipse格式化android 更多 个人分类: Ecli ...

  7. ctsc2009 移民站选址

    分析:非常非常好的一道题! 首先需要对问题进行转化: 行列无关,对于行单独处理,对于列单独处理 必然存在一个最优方案使得每一个新站与旧站重合. 转化1很显然,对于转化2,是一类非常经典的“中位数问题” ...

  8. Chiaki Sequence Revisited HDU - 6304 lowbit找规律法

    Problem Description Chiaki is interested in an infinite sequence a1,a2,a3,..., which is defined as f ...

  9. POJ 3348 Cows 凸包 求面积

    LINK 题意:给出点集,求凸包的面积 思路:主要是求面积的考察,固定一个点顺序枚举两个点叉积求三角形面积和除2即可 /** @Date : 2017-07-19 16:07:11 * @FileNa ...

  10. POJ 1113 Wall 凸包 裸

    LINK 题意:给出一个简单几何,问与其边距离长为L的几何图形的周长. 思路:求一个几何图形的最小外接几何,就是求凸包,距离为L相当于再多增加上一个圆的周长(因为只有四个角).看了黑书使用graham ...