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

在使用远程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工具库实现多终端

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xvwen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值