小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

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

Linux,linux,运维,服务器 额外说明

收录于:23天前

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

nohup

Linux 的 nohup

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

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

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

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

参数说明:

  • 命令:要执行的命令。

  • 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屏幕工具库实现多终端

. . .

相关推荐

额外说明

Docker给普通用户授权

docker默认只能运行root用户使用,可以通过用户组将docker授权其他子用户使用 1、要创建组并添加用户,请执行以下操 docker sudo groupadd docker 2、将用户添加到组中。docker ${USER}为用户账户 sudo

额外说明

网络安全-自学(黑客技术)

前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学?如何学? 今天给大家分享一下,很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,

额外说明

canvas学习(七):渐变

canvas中的渐变分两种:线性渐变和径向渐变,线性渐变又分为倾斜渐变、水平渐变和垂直渐变,径向渐变又称为放射状/环形的渐变。 线性渐变效果图: 径向渐变效果图: 代码如下: var window_width = document.documentEle

额外说明

【Unity-UGUI控件全面解析】| Dropdown 下拉菜单组件详解

-【Unity-UGUI控件全面解析】| Dropdown 下拉菜单组件详解 一、组件介绍 二、组件属性面板 三、代码操作组件 四、组件常用方法示例 4.1 监听开关事件 4.2 添加删除节点 -总结 - 博客主页:https://xiaoy.blog.

额外说明

数学加强 第一节 第十六课

[toc] 贝叶斯公式 给定某系统的若干样本 x, 计算该系统的参数, 即 P(Θ): 没有数据支持下, Θ发生的概率: 先验概率 P(Θ|x): 在数据 x 的支持下, Θ 发生的概率: 后验概率 P(x|Θ): 给定某参数 Θ 的概率分布:似然函数

额外说明

C++的派生和派生的类型

目录 1、派生的定义 2、派生的一般表达式 3、派生的类型 (1)公有型派生 (2)私有型派生 (3)保护型派生  4、总结 1、派生的定义         面向对象的主要特征:继承、封装和多态。         继承(派生):使一个类从现有的类中派生,

额外说明

newstyles项目实战(十一)商品规格功能分析(一)

  商品规格分析      首先,什么是商品规格,在一些电商的网站上队以某一商品的详细描述,包括具体的规格参数等,这些内容能够准确的描述商品,同时也能够让消费者通过了解这些内容来做决策,判断对于此商品是否要购买,也就是说这个功能较为普遍,同时也很有用。参

额外说明

【Redis】Java连接Redis及Java操作Redis常用数据类型

一,Java连接Redis 1.1 连接前端服务器 打开RedisDesktopManager并连接Redis 不知道可看我上一篇文章: 【Redis】安装(Linux&window)及Redis的常用命令-CSDN博客 1.2 后端依赖 导入相关的je

额外说明

面试官:Redis中哈希数据类型的内部实现方式是什么?

面试官:Redis中基本的数据类型有哪些? 我:Redis的基本数据类型有:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)。 面试官:哈希数据类型的内部实现方式是什么? 我还沉浸在上一个问题的沾沾自喜中,

额外说明

Win11由于找不到xactengine2_3.dll导致程序无法运行问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个xactengine2_3.dll文件进行安装(前提是找到适合

ads via 小工具