当前位置: 首页 > news >正文

Linux 终端会话中,启动任务并放到后台运行

一、需求

linux要执行一个脚本,耗时很长,想要脚本在后台运行,用户注销或终端软件关闭时也可以继续运行。

二、实现

1、nohup命令 脚本在后台运行

nohup 是在 Linux 和类 Unix 系统中使用的一个命令,用于在后台运行程序,并忽略挂断信号(SIGHUP),从而使程序在用户注销或终端关闭时继续运行

使用 nohup 命令的基本语法是:

nohup command [args] &

其中,command 是要运行的命令,args 是命令的参数。& 符号将命令放入后台执行。

通过使用 nohup 命令,你可以在终端关闭后继续运行程序,而且它会将标准输出和错误输出重定向到当前目录下的 nohup.out 文件中,这样你可以随时查看程序的输出信息。

以下是一个示例,演示如何使用 nohup 命令在后台运行一个 PHP 脚本:

nohup php script.php &

这个命令会在后台执行 php script.php,并将输出保存到 nohup.out 文件中。

需要注意的是,默认情况下,nohup 命令会将输出追加到 nohup.out 文件中。如果你希望每次运行都创建一个新的 nohup.out 文件,可以使用重定向操作符 >,例如:

nohup php script.php > nohup.log &

这样,每次运行都会创建一个新的 nohup.log 文件。

 

 

二、jobs命令 查询

jobs 是一个在 Linux 和类 Unix 系统中使用的命令,用于显示当前终端会话中正在运行或暂停的作业(job)列表。

在一个终端会话中,你可以同时启动多个任务,并将其中一个任务放到后台运行。这些任务被称为作业。jobs 命令可以列出这些正在运行或暂停的作业,并提供与它们相关的信息。

以下是 jobs 命令的基本用法:

jobs

执行上述命令后,终端会显示类似以下的输出:

[1]+ Running command1 &

[2]- Stopped command2

输出中的每一行表示一个作业,包含以下信息:

  • 作业编号(Job ID):一个数字标识作业的唯一编号。
  • 作业状态:可以是 "Running"(正在运行)或 "Stopped"(已暂停)。
  • 命令内容:作业所对应的命令。

在输出中,作业编号前面包含了一个标识符,如 +-+ 表示当前前台作业(最后一个被启动的作业),- 表示前一个前台作业。

3、 前后台切换

可以使用 fg 命令将一个暂停的作业切换到前台继续运行,bg 命令将一个暂停的作业切换到后台继续运行。

http://www.lryc.cn/news/128560.html

相关文章:

  • 软考笔记——10.项目管理
  • 算法与数据结构(二十四)最优子结构原理和 dp 数组遍历方向
  • Java Vue Uniapp MES生产执行管理系统
  • 深入探究Socks5代理与IP代理在网络安全与爬虫中的应用
  • Vue使用jspdf和html2canvas组件库结合导出PDF文件
  • 7. 实现 API 自动生成
  • 使用Druid解析SQL,获取SQL中所有使用的表
  • 公司内部测试团队可以替代专业的软件检测机构吗,性能测试怎么收费?
  • Three.js之相机、渲染器、光源、动画、性能监测
  • Seaborn图表使用指南!
  • [C++ 网络协议编程] TCP/IP协议
  • Unity用NPOI创建Exect表,保存数据,和修改删除数据。以及打包后的坑——无法打开新创建的Exect表
  • 记一次fegin调用的媒体类型问题
  • 在Hive/Spark上运行执行TPC-DS基准测试 (ORC和TEXT格式)
  • 如何仿写简易tomcat 实现思路+代码详细讲解
  • 如何提高深度学习性能
  • ECMAScript版本对比:从ES1到ES2021
  • 设计HTML5表格
  • 神经网络基础-神经网络补充概念-60-卷积步长
  • 怎么开通Tik Tok海外娱乐公会呢?
  • Java接口压力测试—如何应对并优化Java接口的压力测试
  • Coremail参与编制|《信创安全发展蓝皮书——系统安全分册(2023年)》
  • 分布式 - 消息队列Kafka:Kafka 消费者消息消费与参数配置
  • 批量爬虫采集大数据的技巧和策略分享
  • Springboot 实践(7)springboot添加html页面,实现数据库数据的访问
  • Go中带标签的break/continue以及goto的差别
  • SaaS当然是一门好生意了啊
  • ZooKeeper单机服务器启动
  • Jenkins自动发送飞书消息
  • Centos 7 出现 write error (disk full?)