文章目录

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

在了解三种进程后台运行的方式前,小编觉得有必要先简单讲解一下什么是进程。
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 文件中的内容,就能知道进程的运行状态了。

Linux进程的后台运行相关推荐

  1. Linux进程在后台运行的几种方法

    目录 nohup / setsid / & disown screen 总结 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, ...

  2. 让Linux进程在后台运行

    1. 命令简介 nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行.常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行. 将程 ...

  3. 怎么让 Linux 进程在后台运行

    1.命令简介 nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行.常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行. 将程序 ...

  4. Linux nohup实现后台运行程序及查看(nohup与)

    Linux nohup实现后台运行程序及查看(nohup与&) 更新时间:2019年09月11日 09:28:40 作者:猿的生活 这篇文章主要介绍了Linux nohup实现后台运行程序及查 ...

  5. linux shell 在后台运行命令

    linux shell 在后台运行命令: http://blog.csdn.net/CAIYUNFREEDOM/article/details/6339390 http://blog.sina.com ...

  6. Linux中vue后台运行

    Linux中vue后台运行 只会简单的尝试 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设 ...

  7. linux使得python后台运行,linux 下后台运行python脚本

    &符号 这两天要在服务器端一直运行一个Python脚本,当然就想到了在命令后面加&符号 $ python /data/python/server.py >python.log & ...

  8. Linux系统中后台运行java项目jar包指令

    Linux系统中后台运行java项目jar包指令 windows环境下后台运行jar包程序: https://blog.csdn.net/qq_36763419/article/details/109 ...

  9. Linux学习之后台运行进程

    前言 有的时候我们希望Linux的命令行能运行一个程序,然后把它放在后台,让其自己运行,尤其是云服务器运行单线程程序,TCP服务器开启一个while(true)循环监听一个端口,这时命令行就死在那等着 ...

最新文章

  1. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作
  2. nboot通过DNW下载并运行eboot.nb0
  3. 迁移和升级windows 2003 R2到windows 2008 SP2
  4. thinkphp当前php路径,分析thinkphp常见路径用法分析
  5. 字符串换行截取_textwrap 文本自动换行与填充
  6. 每日一笑 | 一些关于集合的知识
  7. 在Java中使用DOM,SAX和StAX解析器解析XML
  8. 《TensorFlow:实战Google深度学习框架》——5.3 TensorFlow中的变量初始化函数
  9. 电脑突然卡主动不了了_必看!电脑运行卡或软件卡死无响应,怎么办?
  10. 1110 Complete Binary Tree (25 分)(搜索)
  11. 什么是ISO9000质量管理体系认证以及认证流程
  12. 计算机网络共享无访问权限,Win7局域网访问WIN7共享文件夹提示无访问权限的多种解决方法...
  13. Excel 常用的九十九个技巧 Office 自学教程快速掌握办公技巧
  14. 配置其他机器连接Redis
  15. 常见iOS开发面试题(有10w多访问量的面试题)
  16. 【FPGA教程案例12】基于vivado核的复数乘法器设计与实现
  17. 微信小程序中使用ECharts--折线图、柱状图、饼图等
  18. QUICK PCB抄板教程(无网络编号)
  19. iPad Pro大猜想:预计秋季与iOS 9同步亮相
  20. 阿里妈妈 tanx ssp 推广位设置

热门文章

  1. 中文分词算法之--最大匹配法
  2. 2020 ICM Weekend 1 Problem E: Drowning in Plastic
  3. apache和php的安装配置
  4. PHP孟加拉钢厂_孟加拉国帕德玛大桥合龙
  5. 单模多模还傻傻分不清楚?关于光模块介绍,看这一篇就够啦!
  6. SpringCloud 微服务架构开源项目,适合接私活、毕业设计(附源码)
  7. RPGMAKER游戏引擎基于JavaScript的插件制作(六)——重写方法(三):在场景(scenes)中创建精灵(Sprite)——复制式重写的实例教学
  8. 项目oms之----阿里巴巴字体图标运用详解 (含:彩色图标svg运用)
  9. 基于运动学模型的轨迹跟踪控制
  10. proto2java