linux 基础(9)背景工作管理
前景和背景工作管理
在 linux 中,进程以调用顺序构成一棵树,系统的初始程序是 systemd,然后一个程序又调用另一个程序。当你在 bash 里输入其他指令,这些指令就作为当前shell 的子进程被创建执行,执行完退出又回到 bash。
bash 默认是阻塞执行命令的,也就是执行结束后才能执行下一条指令。正在执行的这个指令就是前景。当我们要同时做多件事,除了多开控制台,也可以将程序移动到后台执行,此时前台还可以进行其他操作。
创建背景工作
在一个命令后加上&就可以让他成为背景命令,此时他将在后台执行。
tar -zpcf /tmp/etc.tar.gz /etc &
[2] 2829 # 分别是job ID 和 PID
[2]- Done
此时命令在背景中执行,可以继续操作,执行完成后会提醒。
如果命令有输出和错误流,仍然会输出到控制台,干扰操作,应该使用流重定向。
将前台工作暂停
以正常方式打开一个程序后,如果想要暂停他,就按下Ctrl + Z输入暂停信号,此时程序会暂停并且移到后台,回到 shell 继续操作。
python3
Python 3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
[2]+ Stopped python3
jobs 可以查看当前的任务
jobs -l # l 展现更详细信息
[1]- 2863 Stopped python3
[2]+ 2864 Stopped python3
- 号表示最后进入列表的后台任务,- 表示第二后进入列表的,除此之外还有任务的 job ID 和 PID,当前状态(Stopped 或 Running)和执行的指令。
切换前后台
fg
可以把后台程序拿回前台处理。bg
可以把后台的 Stopped 工作切换成 Running。
fg # 取出最近的工作
fg %2 # 取出2号工作到前台执行
bg %3 # 执行后台的工作
使用 nohup 放置到系统背景
使用 bash 创建的前台或者后台程序,都是 shell 的子进程,和 shell 本身相关,当退出shell后这些任务也就不存在了。如果需要退出后指令继续工作,就需要放到系统背景里工作,nohup [指令] &
可以将指令放到系统背景执行。
nohup sleep 3s &
# 继续工作
nohup: ignoring input and appending output to ‘nohup.out’
# 由于不和终端关联,默认将输出到文件
linux 基础(9)背景工作管理的更多相关文章
- Linux基础三(软件安装管理)
目录: 一.Linux 中软件包的分类 1.源码包 2.二进制包 3.源码包 4.软件安装的选择 二.软件安装之 RPM 1.背景知识 2.准备知识 3.安装升级与卸载 4.查询校验与提取 三.软件安 ...
- 『学了就忘』Linux系统管理 — 85、工作管理相关命令
目录 1.工作管理简介 2.如何把命令放入后台 3.后台管理命令 (1)查看后台的工作 (2)将后台暂停的工作恢复到前台执行 (3)把后台暂停的工作恢复到后台执行 4.后台命令脱离登录终端运行 1.工 ...
- Linux基础--用户和组管理
1.账号管理相关文件 1)/etc/passwd 每一行都代表一个账号,有几行就代表有几个账号在你的系统中,不过需要特别留意的是,里头很多账号本来就是系统中必须要的,我们可以简称他为系统账号, ...
- Linux基础--文件与目录管理
1.目录与路径 1)特殊目录 . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表『目前使用者身份』所在的家目录 ~account 代表account这个使用者的 ...
- linux基础之程序包管理(rpm,yum)
一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...
- Linux基础四:软件包管理
四.软件包管理器: 1.概念 红帽有两款软件包管理器,分别是rpm和yum. 1.rpm软件包管理器 -> 用来安装单个包 -> .rpm文件 红帽的安装包文件,都放在Packag ...
- linux基础指令以及权限管理
基础指令 #打印字符串 echo hello linux #将file1 和 file2粘合在一起,打印到标准输出流 cat file1 file2 标准输入输出 标准输入,stdin,即键盘.鼠标输 ...
- linux 基础10-磁盘配额管理
1. 基本概念 1.1 概念: 在linux系统中,由于是多人多任务的使用环境,所以会有多人共同使用一个硬盘空间的情况,如果其中少数几个人大量使用了硬盘空间的话,势必会压缩其他使用者的使用空间,因此管 ...
- linux基础_用户组的管理
1.创建组 语法:groupadd 组名 2.删除组 语法:groupdel 组名 3.创建用户时,直接指定组 语法:useradd -g 用户组 用户名 4.修改用户的组 语法:usermod -g ...
- Linux基础_4_文件夹管理
文件路径 . #表示当前目录,同./ .. #表示上级目录,同../ ../../ #表示上上级目录 / #表示根目录 注:文件名长度不超过255个字符 注:.开头为隐藏文件 切换目录 cd #默认切 ...
随机推荐
- 学习使用docker-compose搭建Redis哨兵集群
搭建的记录 Redis的容器部署后,redis-server的默认安装目录为 /usr/local/bin. docker volumes 映射的文件与本地的文件共享,修改本地文件后,需要重启dock ...
- ComfyUI插件:ComfyUI-BrushNet节点
前言: 学习ComfyUI是一场持久战,而ComfyUI-BrushNet是最近的局部重绘节点,其包含BrushNet和Powerpaint两个主要节点,其中BrushNet有SD1.5和SDXL两个 ...
- Pytorch学习率更新
如需了解示例完整代码及其后续内容请访问: https://www.emperinter.info/2020/08/01/learning-rate-in-pytorch/ 缘由 自己在尝试了官方的代码 ...
- 哈希基础知识学习-python版
哈希 哈希表 根据key直接进行访问的无序数据结构,复杂度为O(1) 哈希表的实现---字典 初始化 d1 = dict() 查找 #使用中括号[]进行查找,括号内为特定的键, 键-值 dic = { ...
- Java静态相关问题
问题1: public class Demo01_StaticTest { private static Demo01_StaticTest st = new Demo01_StaticTest(); ...
- 高级工程师面试大全- java基础篇
1.什么是java虚拟机 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功 ...
- Linux驱动 | 从0写一个设备树节点实例
一.前言 设备树是每一个Linux驱动工程师都必须掌握的一个知识点,有很多之前做单片机的朋友刚接触Linux驱动时,会一脸懵! 其实设备树的使用并没有大家想像的那么复杂,对于大部分工程师来说,只要会修 ...
- win7安装snmp服务
一.安装SNMP Win7操作系统默认情况下是不安装SNMP服务的,今天讲解一下在Win7操作系统下安装SNMP,具体安装步骤如下: 打开控制面板--卸载程序 WIN7操作系统下安装SNMP的步骤如下 ...
- 最详细STL(三)list
list就是链表啦,他的一个结点由两个指针域,一个数据域组成.list可以在任何位置以O(n)的复杂度插入元素,头部和尾部的插入的复杂度为O(1).然而list也有一个致命的缺点,因为链表的空间申请是 ...
- tar 解压文件时提示 Ignoring unknown extended header keyword
在 Linux 上使用 tar 解压文件时出现下列提示: tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.app ...