原标题:Linux中作业控制命令

开门见山,最近.NET劝退师要在linux上写些长时间运行的脚本,获取Azure BlobStorage存储的数据。

记录一下Linux中后台执行作业的命令。

Linux作业

作业(Job)是shell管理的进程(每个job都有一个关联的PID),每个作业会被分配一个线性job ID。

有两种形式的作业:

Foreground: 当你在终端窗口输入命令,这个命令将会占据终端窗口,直到命令执行完成, 这是一个前台Job

Background: 当你在命令后面添加& 符号,命令将不会占据终端窗口(你可在shell prompt继续输入),这是一个后台Job

Linux作业控制命令

使用作业控制命令,您可以在Shell中运行和管理多个作业。但是你 只能在启动作业的Shell中使用作业控制命令。

命令

描述

jobs

列出所有的Job, 后面可接参数进行过滤

bg %n

将当前/指定Job放置到后台运行

fg %n

将当前/指定Job带到前台运行

另外还有一些与作业有关的快速操作:

& :让命令或者脚本在后台运行

Ctrl+Z:中断前台作业,并放置在后台

Ctrl+C:终止当前前台作业

nohup:即使关闭终端也会执行(一般搭配上面的&)

在后台运行作业

在原命令的最后加上 &,可让这个作业在后台运行。下面的例子:在后台执行sleep命令

$ sleep 100 &

[1] 14488

shell返回结果:中括号内是job ID, 后面是PID;之后使用jobs命令查看状态:100s之后这个后台作业执行完成

[root@recv-data recv] # jobs

[1]+ Running sleep 100 &

....

[root@recv-data recv] # jobs

[1]+ Done sleep 100

管理作业

对于前台作业,

执行 Ctrl+Z 可以将前台作业中止,并放置在后台;之后可以使用 bg %n 命令让中止的后台作业跑起来。

# 将前台作业中止,并放置到后台

$ sleep 100

^Z

[1]+ Stopped sleep 100

$ jobs

[1]+ Stopped sleep 100

# bg命令让后台中止的作业跑起来

$ bg% 1

[1]+ sleep 100 &

处于后台的作业, fg %n 切换回前台执行。

# 下面显示一个正在运行的后台作业

$ jobs

[1]+ Running sleep 100 &

# 切换回前台运行

$ fg%1

sleep 100

众所周知, Ctrl+C终止当前前台作业,不多说。

nohup:关闭终端也执行

很多时候,你是通过ssh登录到远程服务器,再执行Shell脚本或命令,如果你退出了终端(终止远程连接),则该进程/命令将被杀死。如果不确定该作业何时完成,则最好让该作业在后台运行,但是,如果你退出系统,该作业将被Shell停止并终止,当进程收到SIGHUP时,如何使作业在后台运行?

这个时候,我们就要使用 nohup 命令,让我们长时间运行的Shell脚本或命令在我们退出系统依旧能执行(此时一般搭配 & 后台执行)。

顾名思义:nohup是用于忽略HUP(挂断)信号的POSIX命令。

总结:

只能在初始化作业的shell里管控作业

fg %n bg %n 切换前后台作业

nohup &搭配,帮助长时间后台运行的作业,在你退出系统,依旧可运行

责任编辑:

linux 终止作业任务命令,Linux中作业控制命令相关推荐

  1. Linux和Windows命令行中使用命令的输出(删除几天前的日志)

    如果我们需要在命令行中使用命令的结果,需要怎么做? 很常见的一种情况是我们需要当前工作目录的路径.在Linux下,可用这样: $ echo `pwd` $ ./mdu `pwd` 在Windows下面 ...

  2. Linux中作业控制命令

    开门见山,最近.NET劝退师要在linux上写些长时间运行的脚本,获取Azure BlobStorage存储的数据. 记录一下Linux中后台执行作业的命令. Linux作业 作业(Job)是shel ...

  3. linux更改运行级别错误,Vmware中RedHat命令行和图形界面切换 Linux运行级别 默认界面配置 修改错误配置.ppt...

    <Vmware中RedHat命令行和图形界面切换 Linux运行级别 默认界面配置 修改错误配置.ppt>由会员分享,可在线阅读,更多相关<Vmware中RedHat命令行和图形界面 ...

  4. SecureCRT常用Linux命令,SecureCRT中常用命令

    SecureCRT中常用命令...一点点加吧: rz  : 上传文件. ps -auxf  :查看进程 tar -cvf /home/cbinews/openads_new_20090827.tar ...

  5. Linux大作业任务书,《Linux系统管理》期末大作业任务书(计网14级).doc

    <Linux系统管理>期末大作业任务书(计网14级) 软件学院大作业任务书 课程名称: Linux系统管理 题 目: Linux系统管理期末大作业 专 业: 班 级: 学 号: 学生姓名: ...

  6. Linux大作业任务书,《Linux系统管理》期末大作业任务书(2014.12)(1).doc

    软件学院大作业任务书 课程名称: Linux系统管理 题 目: Linux系统管理期末大作业 专 业: 班 级: 学 号: 学生姓名: 完成人数: 1人 起讫日期: 任课教师: 李荣鑫 职称: 部分管 ...

  7. linuxmove命令_linux中mv命令使用详解

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...

  8. 虚拟机重启服务器命令,虚拟机中重启命令

    虚拟机中重启命令 内容精选 换一换 本章节介绍通过执行virsh edit vmx命令编辑虚拟机配置文件的操作方法,其中vmx是虚拟机名称.虚拟机的CPU绑定,是指将VM的vcpu绑定到同一个NUMA ...

  9. find 命令_linux中find命令的使用

    工作中find命令比较常用,该命令用于在指定目录下查找文件. 闲言碎语不多讲,直接通过几个例子说明一下find的使用方法. # 在当前路径查找文件名字后缀是.py的所有文件find . -name & ...

最新文章

  1. 传递数组_Fortran:派生数组与数组传递进子程序耗费时间比较
  2. R语言ggplot2可视化:自定义函数在箱图(boxplot)上添加分组样本个数(count)、分组均值(mean)、箱体填充色自定义、数据标签色彩自定义
  3. hsf 架构_HSF 服务
  4. ad域时间源配置_Windows网络服务与配置管理之活动目录学习
  5. 【python】基础知识
  6. iOS——Core Animation 知识摘抄(二)
  7. Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) F. Bits And Pieces sosdp预处理超集
  8. 乐观锁与悲观锁及其实现
  9. 华为带动涨价?二季度中国市场智能手机均价涨了13%
  10. 零基础带你学习MySQL—primary key主键(二十三)
  11. 浪漫星空python
  12. 每周一刷——从斐波那契数列到动态规划
  13. 评分 - 2019寒假训练营第一次作业
  14. 【收山之作】用yourdiary为例 学习KRKR2 XP3加密静态分析
  15. 在线抽签html,抽签网页板代码
  16. APP性能测试(手机端和服务端)
  17. 懂生意的产品经理,才能做好商业化
  18. 文档安全有个服务器的组,云服务器安全组是什么意思
  19. 邻域均值 (python)
  20. 插入摄像头时,系统右下角提示:无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常...

热门文章

  1. 天龙八单机服务器 修改 藏宝,天龙八部单机版
  2. iOS内存管理——alloc/release/dealloc方法的GNUstep实现与Apple的实现
  3. 电信计费系列1-座机计费
  4. 手把手教你搭建国产嵌入式模拟器SkyEye开发环境
  5. 阿里云边缘云场景化商业实践
  6. 膨胀卷积(DILATED CONVOLUTIONS)
  7. 微软发布 Visual Studio 2022 版本 17.3:支持.NET MAUI 正式版,提高 C++ 性能
  8. duilib设置透明窗口_使用duilib开发半透明异形窗体程序(补充)
  9. 质量管理14条原则、敏捷开发宣言、敏捷开发十二原则
  10. 任天堂switch lite和switch区别