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. 使用webstorm搭建vue-cli项目

    前言 随着vue在前端不断的壮大,越来越多的前端工程师使用vue了,作为大型项目的开发,vue-cli是不二之选,所以这篇博客是为搭建vue-cli所写,想要搭建vue-cli项目就必须先有git,n ...

  2. 洛谷 P1939 矩阵加速(数列)

    题意简述 \(a[1]=a[2]=a[3]=1\) \(a[x]=a[x−3]+a[x−1](x>3)\) 求a数列的第n项对1000000007取余的值. 题解思路 矩阵加速 设\[ F=\b ...

  3. Spark安装与部署

    1.首先安装scala(找到合适版本的具体地址下载) 在/usr/local/目录下 wget https://www.scala-lang.org/download/**** 2.安装spark ( ...

  4. (18)ASP.NET Core 基于现有数据库创建EF模型(反向工程)

    1.简介 Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库.我们可以通过使用Entity Framework Core构建执行基本数据访问的ASP.NET ...

  5. caddy(四)Run详解

    caddy(四)Run详解 前言 平时我们使用 caddy 都是使用 它的 二进制 分发文件,我们现在来分析 caddy 的 Run 函数.从最外层抽象的看它都做了些什么. Caddy Run 我们来 ...

  6. 基于 Vue+Mint-ui 的 Mobile-h5 的项目说明

    Vue作为前端三大框架之一,其已经悄然成为主流,学会用vue相关技术来开发项目会相当轻松. 对于还没学习或者还没用过vue的初学者,基础知识这里不作详解,推荐先去相关官网,学习一下vue相关的基础知识 ...

  7. C#开发BIMFACE系列5 服务端API之文件直传

    BIMFACE使用了分布式对象存储来存储用户上传的模型/图纸文件.如使用普通的文件上传接口, 文件流会通过BIMFACE的服务器,再流向最终的分布式存储系统,整个上传过程会受BIMFACE服务器的带宽 ...

  8. Egret白鹭开发小游戏之自定义load加载界面

    刚接触不久就遇到困难------自定义loading.想和其他获取图片方式一样获取加载界面的图片,结果发现资源还没加载就需要图片,在网上百度了许多,都没有找到正确的方式,通过自己的摸索,终于,,,我成 ...

  9. Leetcode之二分法专题-275. H指数 II(H-Index II)

    Leetcode之二分法专题-275. H指数 II(H-Index II) 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. ...

  10. Worker Service in ASP .NET Core

    介绍 提到 ASP.NET Core,我们多半会想到 ASP.NET MVC.ASP.NET Web API.Razor page 及 Blazor.随着 .NET Core 3.0 的推出,今天会介 ...