在使用远程SSH连接工具时,退出工具时任务也停止,相当于远程连接工具在系统开启了一个Terminal终端,服务也会随着终端的中断而停止。Linux系统也提供了服务基于后台运行的命令,是独立于终端的进程。

nohup

Linux nohup

Linux nohup命令:后台命令脱离终端运行

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out 文件中。

语法格式:nohup Command [ Arg … ] [ & ]

参数说明:

  • Command:要执行的命令。

  • Arg:一些参数,可以指定输出文件。

  • &:让命令在后台执行,终端退出后命令仍旧执行。

案例:

如图所示有一个flask的简易web文件

使用python3 test.py运行项目


直接在公网访问


断开xshell工具后就无法访问了

nohup启动

通过nohup命令后台启动

nohup python3 test.py &


不加&会关闭标准输入。

出现该打印时表示启动成功

ignoring input and appending output to 'nohup.out'

在当前目录下也能看到一个nohup.out文件

ps命令查找进程

ps命令查找到 nohup 运行脚本 PID或者脚本名称。

ps -aux | grep "test.py"

参数说明:

  • a : 显示所有程序
  • u : 以用户为主的格式来显示
  • x : 显示所有程序,不区分终端机

另外也可以使用 ps -def | grep "test.py" 命令来查找。

kill停止进程

找到 PID 后,就可以使用 kill PID 来删除。

kill -9  进程号PID

nohup功能相对较少,只能帮助使进程在后台运行,在实际中,一个Linux会部署多个服务,有时需要观察不同服务的打印终端,nohup就不满足需要了。

jobs查看后台进程

jobs 命令可以用来查看当前终端放入后台的工作。

jobs [选项]

选项 含义
-l(L 的小写) 列出进程的 PID 号。
-n 只列出上次发出通知后改变了状态的进程。
-p 只列出进程的 PID 号。
-r 只列出运行中的进程。
-s 只列出已停止的进程。

fg 命令恢复后台命令

除了将工作丢到后台去运行,也可以将后台工作拿到前台来执行。fg 命令用于把后台工作恢复到前台执行,该命令的基本格式如下:

fg %工作号

工作号时通过jobs命令查看的,如下:

[1]中的1就是工作号。


如果要想中止某个命令,要么把命令恢复到前台,然后正常Ctrl+C退出;要么找到 top 命令的 PID,使用 kill 命令杀死这个进程。

Screen

Screen 是在多个进程间多路复用一个物理终端的全屏窗口管理器。screen 命令允许用户在一个窗口内使用多个终端会话,可以断开连接,也可以重新连接已断开连接的会话,每个会话都可以恢复。

基于screen的特性可以使用screen来实现服务的持久化。具体实现请看之前的文章Linux的screen工具库实现多终端。

Linux系统中使任务后台挂起不停止的命令相关推荐

  1. 详解Linux系统中的lsmod、lsof、lspci、lsscsi命令及实例

    概述 今天主要介绍下Linux系统中的lsmod.lsof.lspci.lsscsi命令及实例. 1.lsmod命令 Linux lsmod命令用于显示已经加载到内核中的模块的状态信息.执行lsmod ...

  2. linux 下删除批量文件命令,linux系统中批量删除文件与空文件删除的命令

    linux命令在系统中有两种类型:内置Shell命令和Linux命令.接下来是小编为大家收集的linux系统中批量删除文件与空文件删除的命令,希望能帮到大家. linux系统中批量删除文件与空文件删除 ...

  3. linux系统中如何关闭后台运行的进程

    在linux系统中,关闭某个进程的命令是kill,后边需要加进程的进程号. 但是关闭进程需要知道进程的进程号,那么怎样才能知道进程的进程号呢?可以使用下面的命令来查看. ps aux 执行了这个命令之 ...

  4. Linux系统中玩到让你停不下来的命令行游戏!

    在使用 Linux 系统时,命令行不仅可以让我们在工作中提高效率,它还可以在生活上给我们提供各种娱乐活动,因为你可以使用它玩许多非常有意思的游戏,这些游戏可都不需要使用专用显卡. 命令行游戏尽管比较简 ...

  5. Linux系统中判断多个设备使用了同一个IP地址,判断IP地址冲突的问题

    在Linux系统中,如果多个设备使用了同一个IP地址,就会发生IP地址冲突的问题.IP地址冲突会导致网络连接不稳定,甚至会导致网络中断.因此,在使用Linux系统时,需要及时发现和解决IP地址冲突问题 ...

  6. linux系统中的文件传输

    Linux系统中的文件传输 1 实验环境 2 scp命令 3 rsync命令 3.1 rsync和scp命令对比 3.2 rsync命令用法 4 文件的归档压缩 4.1 文件归档 4.2 文件压缩 4 ...

  7. 对Linux系统中的时钟和时间的探讨

    2019独角兽企业重金招聘Python工程师标准>>> 概要 1)介绍Linux系统中时钟的基本概念 2)探讨hwclock命令的工作方式. 3)系统启动过程中Linux系统对系统时 ...

  8. 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解

    Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...

  9. 条件测试 linux,linux系统中条件测试语句

    linux系统中条件测试语句 linux系统中条件测试语句分为4类: 1.文件测试语句 2.逻辑测试语句 3.整数值比较语句 4.字符串比较语句 一.文件测试语句 -e :是否存在 -f :是否为文件 ...

最新文章

  1. linux发行版本在这里。
  2. php insert Oracle clob 字段处理问题
  3. Eclipse下Tomcat服务器配置和使用
  4. [转]HDFS用户指南(中文版)
  5. 计算机网络之数据链路层:8、介质访问控制之信道划分介质访问控制
  6. 程序员的进阶课-架构师之路(6)-链表
  7. 2699元起!格力首款5G手机悄然上架:骁龙765G处理器
  8. 谷歌大脑发布神经架构搜索新方法:提速1000倍
  9. 分贝测试软件哪个好 家庭影院,家庭影院5.1和7.1哪种好?5.1和7.1家庭影院区别...
  10. 全球及中国创新药产业研发格局及应用价值分析报告2021-2027年
  11. gpgga格式读取MATLAB,gpgga数据格式
  12. 幼儿计算机教材有哪些,中华字经幼儿教材
  13. python-numpy常用知识汇总
  14. 【ADNI】数据预处理(3)CNNs
  15. u盘为什么显示在工具栏而不显示在计算机里,为什么U盘后插入后不显示?
  16. 通过存储控制器访问外设
  17. mysql主从同步报错Fatal error: The slave I/O thread stops because master and slave have equal MySQL server
  18. jQuerry实现CSS动画样式跳跃显示
  19. 解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload
  20. 计算机毕业设计JAVA人民医院体检预约mybatis+源码+调试部署+系统+数据库+lw

热门文章

  1. python乌龟画图五角星_天呐!python 的乌龟绘图怎么用啊!?
  2. GPS术语 -- 词汇与概念解释(五)
  3. 计算机简单的操作是什么知识,简单的电脑计算机操作使用入门知识!(实用快键键)...
  4. 分段函数是不是一定初等函数_不可化为一个表达式的分段函数是不是初等函数?,分段函数是不是初等函数,那这个呢?...
  5. Java中关于String的常用函数
  6. 随机抽奖程序_某个知乎想法抽奖程序随机更新。jpg
  7. Microsoft .NET Core 1.0.0 VS 2015 Tooling Preview 2 0x80070003
  8. 中国摄影师档案:19世纪香港摄影先驱赖阿芳,可能是最早的摄影师
  9. 测试与工程化相关的一些热点词语解释
  10. Spring Cloud GateWay——Filter过滤器