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

一、后台运行脚本1

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

2、中断脚本test.sh:ctrl+c

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

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

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

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

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

8、中断后台运行的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信号。

二、不中断后台运行脚本

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/renyz/p/11364771.html

shell基础之后台运行脚本相关推荐

  1. Linux shell 学习笔记(12)— linux 信号、后台运行脚本、作业控制、定时运行任务

    1. 处理信号 1.1 Linux 信号 常见的 Linux 信号如下表所示: 信号 值 描述 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL ...

  2. 在linux后台运行脚本的方法和命令

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

  3. Autojs教程--3.如何手机后台运行脚本(七猫小说举例) (上)

    啰嗦几句 在广大粉丝的支持下,决定还是坚持更新一下公众号,把Autojs的编程方面的技术和技巧分享给大家,本人这方面的技术不是很高,毕竟山外有山,人外有人,但乐于分享和探讨,对自己也是一个总结和提高. ...

  4. 修改rcS启动定制功能,后台运行脚本,新建子SHELL进程。

    除了在rcS中编写了启动所需的必须功能命令后,我们还可以添加自己的定制功能.方法如下: 首先,在/usr/bin下,编写各个定制功能的脚本.注意修改权限 chmod a+x myscript 在脚本里 ...

  5. Windows可执行脚本后台运行脚本

    目录 脚本说明: 代码内容: 执行方法: 后言 脚本说明: 1.使用java.python 写的一些小脚本,或者一些轻量级的服务,通过cmd窗口运行时,如何让它在后台运行的解决办法. 2.可支持所有的 ...

  6. Autojs教程--4.如何手机后台运行脚本(七猫小说举例) (下)

    啰嗦几句 最近一直在思考如何使自己的脚本技术能更好一点,不瞒大家说,鄙人的技术远不是大咖级的,在脚本的技术上,还是需要像雕一块美玉一般,如切如磋,如琢如磨. 物理学家费曼说过,掌握并精通一门知识的最快 ...

  7. linux shell 后台执行脚本的方法 脚本后台运行 后台运行程

    我的环境ubuntu 20.04 借鉴 https://blog.csdn.net/ruiyelp/ 方法1: 切断当前的连接后脚本自动断掉 直接在后台运行脚本:./test.sh & 查看当 ...

  8. Linux 下后台运行程序,查看和关闭后台运行程序(转载)

    1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...

  9. 如何在后台运行 Linux 命令

    Linux 命令是使用终端与系统交互的好方法.但是,有时可能需要一段时间才能完成手头的任务.这迫使用户等待相当长的时间或完全生成一个新的 shell. 幸运的是,您可以通过一些简单的方法在后台运行 L ...

  10. android 无法后台运行,安卓模拟器无法后台?

    怎么才能实现安卓模拟器后台绑定运行脚本?试过各个安卓模拟器,逍遥,蓝叠,鹦鹉,腾讯助手,试过各种绑定模式,没有一个可以绑定成功.难道安卓模拟器就不能绑定后台运行脚本? 程序如下: PutAttachm ...

最新文章

  1. Linux系统调用-- mount/umount函数详解
  2. CentOS 6 安装Hadoop 2.6 (四)运行简单例子
  3. 伪类 选择器优先级
  4. 计算机组成原理——Cache与主存的地址映射
  5. java AST 表达式_java AST JCTree简要分析
  6. 值得收藏的品牌案例—到集设,灵感即到
  7. DWZ (JUI) 教程 dwz框架 刷新dialog解决方案
  8. php微型mvc框架创建步骤
  9. Cloudera Manager 安装 CDH5.x 心得
  10. 理解 Linux 配置文件【转】
  11. 怎么做 空间杜宾模型_利用STATA创建空间权重矩阵及空间杜宾模型计算命令
  12. 小米air2se耳机只有一边有声音怎么办_小米蓝牙耳机Air2 SE,169元是否值得购买?值...
  13. C#实现秒杀器之网站登录
  14. java执行cls命令_java开发系统内核:cls 屏幕清空命令的实现
  15. C#脚本引擎CS-Script
  16. 2022-07-12 读书笔记:《写给所有人的极简统计学》
  17. python海龟作图好看图案_海龟作图---用Python绘图
  18. 秀一段《易语言》的源代码
  19. 美式九球比赛规则 (Nine-ball)
  20. 一位架构师用服务打动客户的故事之二

热门文章

  1. 鄂尔多斯打造西部云计算基地
  2. Domino中运用ajax判断帐号是否存在的简单例子
  3. Selinux学习笔记----术语
  4. 如何在 Mac 上使用低电量模式?
  5. 苹果Mac触控栏使用技巧
  6. 负载均衡实现 --- LVS的介绍、调度算法、NAT模式的搭建
  7. ionic3 创建和启动
  8. RAC 特点   character
  9. Wince 设备环境和画笔应用
  10. virtualenv -- python虚拟沙盒