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

news2024/9/23 21:27:33

一、需求

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.coloradmin.cn/o/890684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ES6】—解构赋值

一、定义 解构赋值:解构赋值就是一种模式的匹配,只要等号两边的模式完全相同的,那么左边的变量就会被赋值对应右边的值 二、数组的解构赋值 PS:数组解构赋值时,是通过索引的唯一性赋值的 1. 一维数组解构赋值 (1)…

亿赛通电子文档安全管理系统任意文件上传漏洞(2023-HW)

亿赛通电子文档安全管理系统任意文件上传漏洞 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现小龙POC检测 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果…

ADIS16470和ADIS16500从到手到读出完整数据,附例程

由于保密原因,不能上传我这边的代码,我所用的开发环境是IAR, 下边转载别的博主的文章,他用的是MDK 下文的博主给了你一个很好的思路,特此提出表扬 最下方是我做的一些手册批注,方便大家了解这个东西 原文链…

Github下载任意版本的VsCode

下载历史版本VsCode(zip) 下载链接由三部分组成: 固定部分commit idVSCode-win32-x64-版本号.zip 固定部分: https://vscode.cdn.azure.cn/stable/ Commit id: 打开 vscode的GitHub:[https://github.com/microsoft/vscode/r…

Code interpreter生成无聊的APP:病理图像切割和提取

一、写在前面 机器学习100步不够分配了,所以开个新专栏,就叫做《Code interpreter生成无聊的APP》,旨在探索GPT-4官方插件Code interpreter的使用心路历程。 主要灵感来源:听户主说,她们在做病理组学图像标注和分割的…

作品集封面这样设计,提升个人竞争力!

随着毕业季、求职季陆陆续续的到来,许多毕业生和求职者都将踏上找工作的道路。作品集作为敲门砖,对设计师来说非常重要。而一套完整的作品集自然少不了一张精致吸睛的个人作品集封面,作品集封面的质量直接影响了整套作品的效果。那么&#xf…

Spring Clould 注册中心 - Eureka,Nacos

视频地址:微服务(SpringCloudRabbitMQDockerRedis搜索分布式) Eureka 微服务技术栈导学(P1、P2) 微服务涉及的的知识 认识微服务-服务架构演变(P3、P4) 总结: 认识微服务-微服务技…

原生实现koa框架连接mongoose数据库

1.首先新建一个初始化文件 npm init -y2.下载koa框架所依赖的插件 npm i koa koa-bodyparser koa-router mongoose3.新建一个server.js文件作为我们的服务器 const Koa require(koa) const Router require(koa-router) //可以接受post请求 const bodyParser require(koa-b…

【Spring Cloud 八】Spring Cloud Gateway网关

gateway网关 系列博客背景一、什么是Spring Cloud Gateway二、为什么要使用Spring Cloud Gateway三、 Spring Cloud Gateway 三大核心概念4.1 Route(路由)4.2 Predicate(断言)4.3 Filter(过滤) 五、Spring …

rabbitMQ服务自动停止(已解决

1、 在rabbitmq的sbin目录下操作 rabbitmq-plugins enable rabbitmq_management 2、 自己去rabbitmq_server-3.7.5文件夹下创建一个data,再执行这个命令(用自己的目录哈 set RABBITMQ_BASED:\RabbitTools\RabbitMQ\rabbitmq_server-3.7.5\data 然后去配…

PHP手术麻醉系统源码,自动生成麻醉和护理医疗文书

一套手术麻醉系统源码,可二次开发 手术室麻醉临床信息系统(AIMS)是应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期,对病人进行全程跟踪与信息管理,自动集成病人HIS、LIS、RIS、PACS信息&#xff0…

实现chatGPT 聊天样式

效果图 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Chat Example</title&g…

axios使用axiosSource.cancel取消请求后怎么恢复请求,axios取消请求和恢复请求实现

在前端做大文件分片上传&#xff0c;或者其它中断请求时&#xff0c;需要暂停或重新请求&#xff0c;比如这里大文件上传时&#xff0c;可能会需要暂停、继续上传&#xff0c;如下GIF演示&#xff1a; 这里不详细说文件上传的处理和切片细节&#xff0c;后续有时间在出一篇&a…

Viobot ROS主从机配置

本篇介绍如何配置Viobot的ROS主从机&#xff0c;设备已经默认配好了主机的大部分设置&#xff0c;由于涉及到开机自启动&#xff0c;所以主机必须是Viobot。 以虚拟机ubuntu20.04为例。 1.从机配置 虚拟机终端输入命令,输入密码&#xff0c;按下图修改文件&#xff0c;保存…

途乐证券-上证指数有哪些股票组成?

上证指数是我国股市最重要的指数之一&#xff0c;它由上海证券交易所根据必定的计算方法加权均匀得出来的数据&#xff0c;是我国股市中重要的股票指数之一。那么&#xff0c;上证指数有哪些股票组成呢&#xff1f;让我们从多个视点剖析。 首先&#xff0c;从职业散布视点看&am…

数据流中的中位数

解题思路一&#xff1a; import java.util.*;public class Solution {//用栈来存储所有数据Stack<Integer> s new Stack<Integer>();//入栈public void Insert(Integer num) {s.push(num);}//出栈public Double GetMedian() {Double result 0.0;if(s.size() <…

01_langchain

Langchain简介 LLM的诞生推动了自然语言处理领域的变革&#xff0c;让以前无法实现的一些应用成为了可能。然而仅仅利用LLM还无法完成真正强大的应用程序&#xff0c;还需要一些相关的资源和技术知识。 Langchain用于开发这些应用程序&#xff0c;可用于&#xff1a; 基于文…

认识docker+LNMP架构

目录 一、docker 1.安装&#xff0c;启动 2.docker相关命令 3.如何使用&#xff1f; 二、LNMP 1.认识LNMP 2.sql注入漏洞挖掘 3.如何绕过检测进行注入 一、docker 1.安装&#xff0c;启动 2.docker相关命令 docker search nginx 搜索镜像 docker pull docker.io/ngin…

Constanze‘s Machine

一、题目 二、分析 列表找规律&#xff0c;不同长度的u能够带来多少种不同的情况 发现规律&#xff0c;case满足斐波那契数列。 所以可以先预计算斐波那契数列fib。 #include<iostream> #include<cstring> #include<algorithm> #define int long long usi…

设置bootstrap的modal垂直居中

效果&#xff1a; 代码&#xff1a; updateEmpModal 指的是我的模态框id$("#updateEmpModal").modal("show"); // show 方法调用之后立即触发该事件 $(#updateEmpModal).on(shown.bs.modal, function(){let $this $(this);let $modal_dialog $this.fi…