热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

8.6管道符和作业控制

之前用过管道符|,它用于将前一个指令的输出作为后一个指定的输入|管道符[root@evan-01~]#cat1.txt1.txt2.txt[root@evan-01~]#cat1.



之前用过管道符 |,它用于将前一个指令的输出作为后一个指定的输入


| 管道符

[root@evan-01 ~]# cat 1.txt
1.txt
2.txt
[root@evan-01 ~]# cat 1.txt | wc -l
2
[root@evan-01 ~]#


作业控制

当运行进程时,你可以使它暂停(Ctrl+Z组合键)然后使用 fg(foreground 的简写)命令恢复它,或是利用 bg (background 的简写) 命令使它到后台运行。此外,你也可以使他终止(Ctrl+C组合键)


Ctrl+z 暂停任务

[root@evan-01 ~]# vim 1.txt

在这里插入图片描述

随便输入一些内容,写着写着,突然想起来要做下其他事情,比如查看磁盘使用、查看1.txt。那么此时,我们就可以按下 ESC 键,然后使用 Ctrl+Z 组合键暂停

暂停后不耽误去做别的事情

[root@evan-01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 2.9G 15G 17% /
devtmpfs 482M 0 482M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 99M 0 99M 0% /run/user/0
[root@evan-01 ~]# cat 1.txt
1.txt
2.txt
[root@evan-01 ~]#


fg 恢复

使用 fg 命令恢复它,此时又进入了刚才的 vim 窗口了

在这里插入图片描述

jobs 查看被暂停在后台运行的任务

再按下 ctrl+z 暂停,打开个文件 2.txt,再按ctrl+z

[root@evan-01 ~]# jobs
[1]- Stopped vim 1.txt
[2]+ Stopped vim 1.txt
[root@evan-01 ~]#

想恢复其中的某一个就 fg id

[root@evan-01 ~]# fg 1


bg 把暂停的任务放在后台重新运行

vmstat 1 是用来观察系统状态的一个命令,后面会讲到

执行 vmstat 1 > 3.txt 后按 ctrl+z 暂停

[root@evan-01 ~]# vmstat 1 > 3.txt
^Z
[3]+ Stopped vmstat 1 > 3.txt
[root@evan-01 ~]#

job查看当前被暂停在后台的任务

[root@evan-01 ~]# vmstat 1 > 3.txt
^Z
[3]+ Stopped vmstat 1 > 3.txt
[root@evan-01 ~]# jobs
[1]- Stopped vim 1.txt
[2] Stopped vim 1.txt
[3]+ Stopped vmstat 1 > 3.txt
[root@evan-01 ~]#

按 bg 3 让它在后台运行

[root@evan-01 ~]# bg 3
[3]+ vmstat 1 > 3.txt &
[root@evan-01 ~]# jobs
[1]+ Stopped vim 1.txt
[2] Stopped vim 1.txt
[3]- Running vmstat 1 > 3.txt &
[root@evan-01 ~]#

命令 & 直接丢到后台

[root@evan-01 ~]# sleep 1000 &
[4] 1407
[root@evan-01 ~]# jobs
[1]+ Stopped vim 1.txt
[2] Stopped vim 1.txt
[3] Running vmstat 1 > 3.txt &
[4]- Running sleep 1000 &
[root@evan-01 ~]# sleep 2000 &
[5] 1408
[root@evan-01 ~]# jobs
[1]+ Stopped vim 1.txt
[2] Stopped vim 1.txt
[3] Running vmstat 1 > 3.txt &
[4] Running sleep 1000 &
[5]- Running sleep 2000 &
[root@evan-01 ~]#


ps aux 查看进程

再重新打开个终端,输入 jobs 没反应,如果你知道进程的命令关键字,就可以查到

在这里插入图片描述ps aux 查看进程

[root@evan-01 ~]# ps aux | grep sleep
root 1407 0.0 0.0 107952 616 pts/0 S 16:25 0:00 sleep 1000
root 1408 0.0 0.0 107952 612 pts/0 S 16:26 0:00 sleep 2000
root 1429 0.0 0.0 112708 984 pts/1 R+ 16:27 0:00 grep --color=auto sleep
[root@evan-01 ~]#


kill 结束进程

如果想结束该进程,需要使用 kill 命令。kill 命令很简单,直接在后面加 pid 即可。如果遇到结束不了的进程时,可以在 kill 后面加一个选项,即 kill -9 [pid]

[root@evan-01 ~]# ps aux | grep sleep
root 1407 0.0 0.0 107952 616 pts/0 S 16:25 0:00 sleep 1000
root 1408 0.0 0.0 107952 612 pts/0 S 16:26 0:00 sleep 2000
root 1429 0.0 0.0 112708 984 pts/1 R+ 16:27 0:00 grep --color=auto sleep
[root@evan-01 ~]# kill 1407
[root@evan-01 ~]# ps aux | grep sleep
root 1408 0.0 0.0 107952 612 pts/0 S 16:26 0:00 sleep 2000
root 1432 0.0 0.0 112708 984 pts/1 R+ 16:28 0:00 grep --color=auto sleep
[root@evan-01 ~]# kill -9 1408
[root@evan-01 ~]# ps aux | grep sleep
root 1434 0.0 0.0 112708 980 pts/1 R+ 16:28 0:00 grep --color=auto sleep
[root@evan-01 ~]#


推荐阅读
  • CentOS 7 实验记录:解决磁盘故障案例分析
    本文详细记录了一次在 CentOS 7 系统上遇到的磁盘故障处理过程,主要探讨了因额外磁盘缺失但 fstab 文件中仍保留其挂载配置而导致的问题,并提供了具体的解决方案。 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 1、什么是过滤器管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入, ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • 本文详细介绍了在Mac平台上安装和配置MySQL的步骤,包括下载安装包、卸载MySQL以及解决命令行中找不到mysql命令的问题。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
author-avatar
mobiledu2502902725
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有