Linux进程的后台运行

news2024/9/21 11:08:56

文章目录

  • 一. 什么是进程?
  • 二. 进程后台运行


在了解三种进程后台运行的方式前,小编觉得有必要先简单讲解一下什么是进程。
PS: 本篇博客技术参考价值不大,只是类似随笔比较水,详细的知识点可以关注一下nohup命令的使用。

一. 什么是进程?

什么是进程?进程就是运行的程序。
例如我们在Windows系统中双击一个图标运行一个软件,其实这就是启动了若干了进程,只不过在Linux中是通过命令来操作程序的运行。
因此我们也可以对程序进行操作,列如运行程序,终止程序,查看程序的运行状态等。
那么我们如何产生1个进程呢?我们通常使用命令,命令对应程序,程序执行后就会产生相应的进程。
我们也可以把进程分为前台运行的进程后台运行的进程,列如在Linux中:
这些都是在前台中运行的进程,会在终端中占用终端的输入或者产生信息。

ls
pwd
sleep 1000

我们可以在命令后面添加一个&符号让进程在后台执行列如:

sleep 1000 &

这样运行的命令是不会占用终端或者在终端中输出信息的,也就是后台运行一个进程,对于每一个进程都有一个固定的pid,那么如何查看进程的pid呢?
这就涉及到了进程信息的查看,我们就需要借助 ps 命令,列如:

# 利用运行进程使用的命令中的关键字查询出进程的 pid
ps -ef | grep <keyword>
# 查看当前用户运行的全部进程
ps -ux

查询出来的信息一般第二列就是进程的pid了
在这里插入图片描述
我们也可以通过命令将对应pid的进程杀死:

// 使用 kill 命令来杀死进程
kill -9 <pid>
kill -15 <pid>

9 和 15 这两个数字的含义可以在终端输入 htop,然后按 F9 查看,每个数字对应了一种发送给进程的信号。
15 对应的是 SIGTERM,通知进程结束,不加参数时,如:kill pid 默认使用该信号终止进程。
9 对应的是 SIGKILL,强制终止进程。
所以我们也可以在 htop 界面中发送相应的信号来结束进程。
关于进程的介绍,这里就不过于详细的讲解了,有感兴趣的读者朋友可以找一些相关文章查阅。

二. 进程后台运行

命令开启进程后台运行的方式有三种:

  1. 第一种方式是在执行的命令后面添加 & 符号
  2. 第二种是利用 ctrl + z 和 bg 搭配
  3. 第三种是使用 nohup 的方式后台运行进程(常用)

第一种:

sleep 10086 &

第二种:

sleep 10010
# 按 ctrl + z
# 在终端输入 bg
bg 

第三种:

nohup sleep 1111 &

我们也可以使用下面的命令来查看后台运行的进程:

jobs -l

可以根据后台运行的进程编号将对应的进程转到前台来运行,编号可通过 jobs -l 命令查看

// 将 1 号后台运行的进程转到前台运行
fg 1
// 不指定编号,默认将编号最大的进程转到前台运行
fg

值得注意的是: 使用上文中的方式 1 和方式 2 运行的后台进程会在终端关闭后被杀死,而使用 nohup 运行的后台进程在终端关闭后而主机还在运行的情况下继续运行。
在让进程后台运行时,我们通常需要记录日志,用于了解进程的运行情况,比如运行 jupyter notebook 时,我们通常将日志输入到文件中:

nohup jupyter notebook 1>jupyter.log 2>&1 &

这里的 2 表示的是错误输出,1 表示的是标准输出,标准输出会输出到终端。上述的 2>&1 会将标准错误输出重定向标准输出(终端),1>jupyter.log会将标准输出中的内容重定向到 jupyter.log 文件中,这样进程输出的日志信息就全都记录在 jupyter.log 文件中了,查看 jupyter.log 文件中的内容,就能知道进程的运行状态了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/177581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

00开篇词:带你玩转gRPC框架

前言 大家好&#xff0c;先做一下自我介绍 我叫Barry Yan&#xff0c;目前是一名互联网公司的研发工程师&#xff0c;同时也是后端技术领域的狂热爱好者和技术博主&#xff0c;在GitHub、CSDN社区、51CTO博客社区、阿里云技术社区、掘金技术社区和InfoQ写作社区等都有自己的博…

详解1242:网线主管(二分答案经典习题)

题目1242&#xff1a;网线主管时间限制: 1000 ms 内存限制: 65536 KB提交数: 23180 通过数: 5566【题目描述】仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成&#xff0c;他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结构连接在一…

【SVM原理推导】核SVM为什么能分类非线性问题?

核SVM为什么能分类非线性问题?要解决这个问题,首先应该先深入理解SVM的原理与本质。(涉及SVM的问题是很常见的,因为SVM可以算是传统机器学习领域非常成功的算法之一了,现在仍有许多research运用SVM解决问题。) 一、支持向量机(SVM) 1. 基本介绍与提出背景 支持向量机…

【C++】lambda 表达式 | 包装器

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《吃透西嘎嘎》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;lambda表…

解决宏碁非凡S3 安装Win11时无法找到驱动器问题

1 问题描述 机型&#xff1a;宏碁非凡S3 2022款CPU&#xff1a;i5 1240P安装系统&#xff1a;Win11 专业版问题描述&#xff1a;安装系统时&#xff0c;在选择驱动器界面无法找到驱动器&#xff0c;如下图所示 2 解决流程 查了一下网上的解决办法&#xff0c;进入BIOS把VMD C…

非极大值抑制(Non-Maximum Suppression)

文章目录一、什么是非极大值抑制二、为什么要用非极大值抑制三、 如何使用非极大值抑制四、代码段一、什么是非极大值抑制 非极大值抑制&#xff0c;简称为NMS算法&#xff0c;英文为Non-Maximum Suppression。其思想是搜素局部最大值&#xff0c;抑制非极大值。NMS算法在不同…

JavaEE7-Bean的作用域

目录 1.作用域定义 2.Bean的6种作用域 2.1.singleton&#xff1a;单例作用域&#xff08;默认作用域&#xff09; 2.2.prototype&#xff1a;原型作用域&#xff08;多例作用域&#xff09; 2.3.request&#xff1a;请求作用域 2.4.session&#xff1a;会话作用域 2.5.a…

C++基础回顾

吼吼吼CC基础回顾C基础入门一、标识符1.1标识符命名规则二、数据类型2.1整形&#xff08;格式&#xff1a;int 关键字&#xff09;2.2 sizeof关键字2.3 float关键字2.4字符型2.5转义字符2.6字符串型2.7布尔类型2.8数据的输入三、运算符3.1算数运算符前置递增与后置递增区别3.2 …

MS Access数据库多数据源JDBC查询

Druid, C3P0都不支持微软的Access&#xff0c;如何实现多数据源JDBC查询&#xff1f;&#xff1f; 2023-01-23T23:54:52.4760800 WARNING com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask544a5904 -- Acquisition Attempt Failed!!! Clearing pending a…

Linux内核驱动初探(二) TI声卡

目录 0. 前言 1. menuconfig 2. 超时问题 3. 稳定性问题 0. 前言 通过查询该设备原理图可知&#xff0c;该声卡的Codec芯片型号为德州仪器 TLV320DAC3101。 1. menuconfig 我们在 linux-menuconfig 里面如下设置&#xff1a;进入 Device Drivers ---> Sound card supp…

准确率、精确率、召回率、F1-measure

文章目录准确率(Accuracy)精确率(precision)召回率(recall)F1-measure值学习理解网站-p’(Predicted)n’(Predicted)p(Actual)True PositiveFalse Negtiven(Actual)False PositiveTrue Negtive 准确率(Accuracy) ANo.Samples Predicted CorrectlyTotal No.of SamplesTPTNPN(1)A…

适配splashscreen步骤以及遇到的坑

Android 12 启动画面 从 Android 12 开始&#xff0c;在所有应用的冷启动和温启动期间&#xff0c;系统一律会应用 Android 系统的默认启动画面。默认情况下&#xff0c;此系统默认启动画面由应用的启动器图标元素和主题的 windowBackground&#xff08;如果是单色&#xff09…

虚函数的静态解析

目录 一.基类的constructor和destructor内 二.使用的是基类的对象而不是基类对象的pointer或reference 存在两种情况&#xff0c;虚函数机制不会出现预期行为&#xff1a; 即不根据虚函数的机制来调用类中对应的虚函数 示例中使用的基类和派生类&#xff1a; class base_cl…

vue事件车的原理与标准写法实现兄弟组件的传值

目录前言一&#xff0c;全局事件总线介绍1.1 原理介绍1.2 x需要满足的条件二&#xff0c;知识点的复习2.1 vc是什么2.2 vm管理vc如何体现2.3 原型2.4 上述知识的串联三&#xff0c;实现需求3.1 x的编写及讲解3.2 使用x四&#xff0c;标准写法4.1 写法改动4.2 销毁五 关键代码后…

有关BMP位图的分析

1、BMP是什么&#xff1f; BMP是 Bitmap&#xff08;位图&#xff09;的简称&#xff0c;是windows显示图片的基本格式。 在windows下&#xff0c;任何格式的图片文件&#xff08;包括视频播放&#xff09;都要转化为位图才能显示出来&#xff0c;各种各样格式的图片文件也都…

9.Java数组知识大全

文章目录前言一、数组介绍二、数组的定义域静态初始化三、数组元素访问数组地址中的小拓展:四、数组遍历1.获取数组里面的元素2.把数据存储到数组中3.遍历数组的最快方式4.遍历数组并求和5.统计个数6.变化数据五、数组动态初始化1.数组默认初始化值的规律2.数组动态初始化和静态…

单绞机控制算法模型(Simulink仿真)

线缆行业单绞机PLC控制算法详细解读可以参看下面的文章链接: 线缆行业单绞机控制算法(详细图解+代码)_RXXW_Dor的博客-CSDN博客在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错…

【JavaEE】认识线程Thread类及常用方法线程状态

目录 一&#xff1a;认识线程&#xff1a; 二、线程的优点&#xff1a; 三、进程和线程的区别&#xff08;面试题&#xff09;&#xff1a; 四、第一个多线程程序&#xff1a; 五、创建线程的方式&#xff1a; 六、Thread类及常用方法 Thread类常见构造方法&#xff1…

整理介绍字符函数和字符串函数+内存函数

本篇重点介绍处理字符和字符串的库函数的使用和注意事项 本篇重点本篇重点介绍处理字符和字符串的库函数的使用和注意事项前言&#xff1a;求字符串长度strlen拷贝字符串函数strcpy&#xff08;追加&#xff09;连接字符串函数strcat比较两个字符串函数strcmp对上面改进字符串函…

Mac应用程序无法打开或文件损坏的处理方法

很多用户在安装 盗版 Mac软件的时候&#xff0c;经常会遇到提示“xxx.app已损坏&#xff0c;打不开。您应该将它移到废纸篓“或”打不开的xxx.app&#xff0c;因为它来自身份不明的开发者”&#xff0c;等多种打不开盗版软件的各种提示&#xff0c;正版软件则不会出现。 错误截…