后台运行脚本

执行脚本test.sh:./test.sh

中断脚本test.sh:ctrl+c

在1的基础上将运行中的test.sh,切换到后台并暂停:ctrl+z

执行ctrl+z后,test.sh在后台是暂停状态(stopped),使用命令:bg number让其在后台开始运行(“number”是使用jobs命令查到的 [ ]中的数字,不是pid)

直接在后台运行脚本test.sh:./test.sh &

查看当前shell环境中已启动的任务情况:jobs

将test.sh切换到前台运行:fg %number(”number”为使用jobs命令查看到的 [ ] 中的数字,不是pid)

中断后台运行的test.sh脚本:先fg %number切换到前台,再ctrl+c;或是直接kill %number

以上两种在后台运行test.sh的方法,当遇到退出当前shell终端时,后台运行的test.sh也就结束了。这是因为以上两种方法使得test.sh在后台运行时,运行test.sh进程的父进程是当前shell终端进程,关闭当前shell终端时,父进程退出,会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。所以要想退出当前shell终端时test.sh继续运行,则需要使用nohup忽略hangup信号。

不中断的在后台运行test.sh:nohup ./test.sh &(test.sh的打印信息会输出到当前目录下的nohup.out中)

使用jobs可看到test.sh处于running状态

使用ps -ef |grep test.sh可查看到正在运行的test.sh脚本进程

退出当前shell终端,再重新打开,使用jobs看不到正在运行的test.sh,但使用ps -ef可以看到

在后台不中断的运行test.sh,可以使用nohup忽略hangup信号,或者使用setsid将其父进程改为init进程(进程号为1)

不中断的在后台运行test.sh另一个命令:setsid ./test.sh &

使用ps -ef |grep test.sh可看到test.sh进程的父进程id为1

测试脚本

`

!/bin/bash

int=1

while(( $int<=100 ))

do

echo $int

let "int++"

sleep 1

done

`

在linux后台运行脚本的方法和命令的更多相关文章

  1. Linux执行shell脚本方式及区别&命令后台运行

    Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/

  2. 2016-09-19: linux后台运行

    linux后台运行命令两种方式: 1. command & : 后台运行,你关掉终端会停止运行   2. nohup command & : 后台运行,你关掉终端也会继续运行 简介 L ...

  3. Linux后台运行程序

    Linux后台运行程序 最近写的程序需要部署到Linux服务器上,按照以前的方式,在运行后面增加&,程序会切换为后台运行.但因为Linux一般是通过ssh远程登录的,等到退出当前session ...

  4. PCB Genesis 无需启动Xmanager图形窗口运行脚本 实现方法

    从事PCB工程行业的都知道,启动Genesis需2个exe程序(Xmanager.exe与get.exe)需一起启动才可以打开我们熟悉的软件, 而Xmanager是图形窗口是给用户UI交互使用的,如果 ...

  5. Linux后台执行脚本 &与nohup

    Linux后台执行脚本的方式: 0.脚本代码 [root@VM_1_3_centos apps]# cat test.php <?php sleep(5); echo "hello w ...

  6. 大数据开发-linux后台运行,关闭,查看后台任务

    在日常开发过程中,除了例行调度的任务和直接在开发环境下比如Scripts,开发,很多情况下是shell下直接搞起(小公司一般是这样),看一下常见的linux后台运行和关闭的命令,这里做一个总结,主要包 ...

  7. shell基础之后台运行脚本

    使shell脚本后台执行,基本的方法有两种,第一种为在脚本后面追加&符号,第二种为在脚本前面使用nohup命令,结尾再追加&符号 一.后台运行脚本1 1.执行脚本test.sh:./t ...

  8. linux后台运行springboot项目

    首先需要进到自己springboot项目的根目录,然后执行如下linux命令 nohup java -jar 自己的springboot项目.jar >日志文件名.log 2>&1 ...

  9. centos 后台 运行jar包方法

    后台运行jar包方法: 1.nohup java -jar shareniu.jar & nohup意为后台不挂断运行,与是否账号退出无关 2.nohup java -jar shareniu ...

  10. Linux 技巧:让进程在后台运行的可靠方法

    原文链接:http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/ 想让进程在断开连接后依然保持运行?如果该进程已经开始运行了该如何补救? 如果有大 ...

随机推荐

  1. VM虚拟机在添加虚拟硬盘后无法boot的解决方案

    今天本想自己配一个mini Linux系统,但是在给系统增加一块硬盘的时候,发现出现以下问题 CentOS打不开(其实经过很久也能进去,但是指令全部失效) 由于不知道原因最后就重装了系统,奇怪的是,重 ...

  2. JVM核心知识体系(转)

    1.问题 1.如何理解类文件结构布局? 2.如何应用类加载器的工作原理进行将应用辗转腾挪? 3.热部署与热替换有何区别,如何隔离类冲突? 4.JVM如何管理内存,有何内存淘汰机制? 5.JVM执行引擎 ...

  3. 文心一言 VS 讯飞星火 VS chatgpt (128)-- 算法导论11.1 3题

    三.用go语言,试说明如何实现一个直接寻址表,表中各元素的关键字不必都不相同,且各元素可以有卫星数据.所有三种字典操作(INSERT.DELETE和SEARCH)的运行时间应为O(1)(不要忘记 DE ...

  4. kingbase sql 回表优化案例

    同事找我优化SQL,同一条SQL语句LIKE过滤条件不同,执行时间差别很多,废话不说安排一下. LIKE过滤条件执行快的SQL和执行计划: EXPLAIN ANALYZE SELECT case_id ...

  5. Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入

    从表格中选择数据 要从MySQL中的表格中选择数据,请使用"SELECT"语句: 示例选择"customers"表格中的所有记录,并显示结果: import m ...

  6. 前端本地导出文件 导出txt sql (简版版的字符串案例)

    1.首页明确要导出的根据 一般有图片 excel  文字.针对不同的文件类型 配置不同的参数 2.知识点 Blob          URL.createObjectUrl new Blob( arr ...

  7. 3C智能移动周边产品龙头企业如何集成企业内部所有异构系统数据

    全面并自动集成品胜集团全域业务系统中的各类业务数据:结构化.标准化.自动化集团全部异构系统数据,提升全公司整体项目管理水平:梳理与简化跨部门.跨系统流程,清晰定义流程节点及业务边界,打通部门间信息流通 ...

  8. 【MRCTF2020】Ezpop_Revenge——PHP原生类SSRF

    [MRCTF2020]Ezpop_Revenge--PHP原生类SSRF 1. 收获 CMS初审计 google.baidu hack PHP原生类反序列化 2. 看题 2.1 读源码 网页存在源码泄 ...

  9. mac电脑升级后wifi报感叹号连不上WiFi的问题

    我的mac电脑是2015款的makebook pro,13英寸,之前一直用的是10.14系统,后来看到系统更新一直在推10.15系统,我就升级了10.15系统,但是升级后就坑爹了,wifi标志直接就不 ...

  10. 2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a到z编号为0到25编号, 纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号, 若i>1的

    2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a到z编号为0到25编号, 纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号, 若i> ...