Linux的后台运行、关闭、查看后台任务

  • &
  • ctrl+z
  • jobs
  • fg
  • bg
  • kill
  • nohup
  • setsid
  • disown
  • screen
1.&

加在命令的最后,可以把命令放到后台执行:

watch -n 10 sh test.sh #每10s后台执行一次test.sh脚本
2.ctrl+z

可以将一个在前台运行的命令放到后台,且处于暂停状态

3.jobs

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

jobs -l选项可显示所有任务的PID,jobs的状态可以是running、stopped、terminated。

但是如果任务被终止了(kill),shell从当前的shell环境已知的列表中删除任务的进程标识

jobs命令选项
-l 列出进程ID及其他信息
-p 仅列出进程ID
-n 仅列出自从上次输出状态变化提示后的发生了状态变化的进程
-r 仅显示运行中的作业
-s 仅显示停止的作业
-x 运行命令及其参数,并用新的命令的进程ID替代所匹配的原有作业的进程组ID
4.fg

将后台中命令调至前台继续运行,如果后台有多个命令,可以用fg %jobnumber(是命令编号,不是进程号)将选中的命令调出

# jobs -l
[2] - stopped ....
[3] + stopped ...
# fg 2
5.bg

将一个后台暂停的命令,变成后台继续运行,如果后台有多个命令,可以用bg %jobnumber将选中的命令调出

6.kill
  • 1.通过jobs命令查看job号,然后执行kill %num
  • 2.通过ps命令查看job的进程号(pID),然后执行kill pid,前台进程的终止ctrl+c
7.nohup

若始终让进程在后台运行,即使关闭当前的终端也执行(&是做不到的),这是需要使用nohup

此命令可以让退出账户/关闭终端之后继续运行相应的进程。

nohup ping wwww.baidu.com
8.setsid

nohup通过忽略HUO信号来使进程中途被中断,但如果我们换个角度思考,若进程不属于接受HUP信号的终端的子进程,setsid就可以说实现

# setsid ping www.baidu.com
9.disown

在不停止进程的情况下使提交的命令避免HUP信号的影响

disown -h jobspec  来使某个作业忽略HUP信号
disown -ah 来使所有的作业都忽略HUP信号
disown -rh 来使正在运行的作业忽略HUP信号

注:当使用disown之后,会把目标作业从作业列表中移除,不能再使用jobs查看,但是还可以通过ps -aux查看

10.screen

screen提供了ANSI/VT100的终端模拟器,能够在一个真实终端下运行多个全屏的伪终端。screen的参数很多,具有很强大的功能

screen option
# screen -dmS session name 来建立一个处于断开模式下的回话
# screen -list 列出所有会话
# screen -r session name 重新连接执行会话
# crtl+a+d 来暂时断开当前会话

Linux执行后台work相关的更多相关文章

  1. linux的后台运行相关命令

    screen -S name 创建一个名为name的后台,或者说bash面板,在这上面运行的任务不会因为连接断开而退出,且保留bash上的信息 screen -ls 列出所有的screen scree ...

  2. Linux执行shell脚本方式及区别&命令后台运行

    Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/

  3. linux下后台启动springboot项目

    linux下后台启动springboot项目 我们知道启动springboot的项目有三种方式: 运行主方法启动 使用命令 mvn spring-boot:run”在命令行启动该应用 运行“mvn p ...

  4. Linux - 执行命令与脚本

    001 - Linux执行多条命令 方法1:在命令行下可以一次性粘贴多条语句,shell会依次执行并输出结果 方法2:在一个命令行中,用分号将各个命令隔开或者使用&&连接各个命令 示例 ...

  5. java调用Linux执行Python爬虫,并将数据存储到elasticsearch--(环境脚本搭建)

    java调用Linux执行Python爬虫,并将数据存储到elasticsearch中 一.以下博客代码使用的开发工具及环境如下: 1.idea: 2.jdk:1.8 3.elasticsearch: ...

  6. Linux命令大全----系统管理相关命令

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka       摘要:本文主要讲了Linux命令大全----系统管理相关命令,并附有实例 一.安装 ...

  7. linux下后台启动springboot项目(转载)

    我们知道启动springboot的项目有三种方式: 运行主方法启动 使用命令 mvn spring-boot:run”在命令行启动该应用 运行“mvn package”进行打包时,会打包成一个可以直接 ...

  8. 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令

    Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...

  9. 使程序在Linux下后台运行

    一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关 ...

随机推荐

  1. 简洁实用Socket框架DotNettySocket

    目录 简介 产生背景 使用方式 TcpSocket WebSocket UdpSocket 结尾 简介 DotNettySocket是一个.NET跨平台Socket框架(支持.NET4.5+及.NET ...

  2. WebSphere MQ性能调优浅谈

    导读:目前随着我们在中国的WebSphere MQ(MQSeries)用户数量越来越多,越来越多的用户开始对MQ使用时的性能优化问题提出要求,我根据日常积累的经验谈一谈在MQ性能优化方面应该考虑的因素 ...

  3. 调用链系列(1):解读UAVStack中的贪吃蛇

    一.背景 对于分布式在线服务,一个请求需要经过多个系统中多个模块,可能多达上百台机器的协作才能完成单次请求.这种场景下单靠人力无法掌握整个请求中各个阶段的性能开销,更无法快速的定位系统中性能瓶颈.当发 ...

  4. Markdown转载

    @TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown ...

  5. Mbatis是什么?怎么运行?

    一   .    Mybatis是什么? Mybatis是一个持久层框架,其中编写的过程中sql语句是需要程序员自己去编写,Mybatis也有 一些映射(输入参数映射,输出参数映射),Mybatis是 ...

  6. Yarn上常驻Spark-Streaming程序调优

    对于长时间运行的Spark Streaming作业,一旦提交到YARN群集便需要永久运行,直到有意停止.任何中断都会引起严重的处理延迟,并可能导致数据丢失或重复.YARN和Apache Spark都不 ...

  7. HOWTO: Avizo/Amira/Pergeos中如何利用Volume Edit

    操作非常简单,就是利用Volume Edit取圆柱的同时可以取一个Mask(或称之为ROI,感兴趣区域,蒙板等) 如上图,利用Volume Edit取一个圆柱,然后点击Create Mask创建一个M ...

  8. 使用CodeBenchmark对逻辑代码进行并发测试

    一直对性能测试比较感兴趣,所以也写了不少的测试工具有WebApiBenchmark和TcpBenchmark等;但这些工具测试都是有针对性和配置的方式来进行功能有限所以很难适用更多的场景,所以单独开发 ...

  9. 并查集(不相交集合)详解与java实现

    目录 认识并查集 并查集解析 基本思想 如何查看a,b是否在一个集合? a,b合并,究竟是a的祖先合并在b的祖先上,还是b的祖先合并在a上? 其他路径压缩? 代码实现 结语 @(文章目录) 认识并查集 ...

  10. 最近学习了限流与RateLimiter

    前言 分布式环境下应对高并发保证服务稳定几招,按照个人理解,优先级从高到低分别为缓存.限流.降级.熔断,每招都有它的作用,本文重点就讲讲限流这部分. 坦白讲,其实上面的说法也不准确,因为服务降级.熔断 ...