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. 为什么建立数据仓库需要使用ETL工具?

    在做项目时是不是时常让客户有这样的困扰: 1.开发时间太长 2.花费太多 3.需要太多资源 4.集成多个事务系统数据总是需要大量人力成本 5.找不到合适的技能和经验的人 6.一旦建立,数据仓库无法足够 ...

  2. java学习-NIO(一)简介

    I/O简介 在 Java 编程中,直到最近一直使用 流 的方式完成 I/O.所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节.流 I/O 用于与外部世界接触. ...

  3. HBuilderX使用Vant组件库

    HBuilderX使用Vant组件库 HBuilderX是一款由国人开发的开发工具,其官网称其为轻如编辑器.强如IDE的合体版本.但是官方的社区中关于Vant组件的安装大多都是针对微信小程序开发安装V ...

  4. nginx在线与离线安装

    1.场景描述 项目要部署到新的服务器上,需要安装nginx,刚好安全部门通知了nginx存在安全漏洞(Nginx整数溢出漏洞,nginx1.13.2之后的版本无问题),就下载最新的nginx进行了安装 ...

  5. ZooKeeper系列(三)—— Zookeeper 常用 Shell 命令

    一.节点增删改查 1.1 启动服务和连接服务 # 启动服务 bin/zkServer.sh start #连接服务 不指定服务地址则默认连接到localhost:2181 zkCli.sh -serv ...

  6. 常用高效 Java 工具类总结

    一.前言 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码 ...

  7. VSCode 使用Settings Sync同步配置(最新版教程,非常简单)

    VSCode 使用Settings Sync同步配置(最新版教程,非常简单) 之前无意中听到有人说,vsCode最大的缺点就是每次换个电脑或者临时去个新环境,就要配置一下各种插件,好不麻烦,以至于面试 ...

  8. JS 一些有意思的写法

    对于 C语言中的 &&(有一个为假,返回的为false) 和 || (有一个为真,即为真),但是对于 JS中的 && 和 || 运算是有所不同的. 详情见下面: &am ...

  9. 真正加速Jenkins安装插件速度

    本文主旨 看到好多加速Jenkins安装插件速度的文章, 大多数教程中都是在插件配置里使用下边的url来替换原有的https://mirrors.tuna.tsinghua.edu.cn/jenkin ...

  10. 【RabbitMQ】如何进行消息可靠投递【下篇】

    说明 上一篇文章里,我们了解了如何保证消息被可靠投递到RabbitMQ的交换机中,但还有一些不完美的地方,试想一下,如果向RabbitMQ服务器发送一条消息,服务器确实也接收到了这条消息,于是给你返回 ...