shell基础之后台运行脚本
使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基础之后台运行脚本相关推荐
- Linux shell 学习笔记(12)— linux 信号、后台运行脚本、作业控制、定时运行任务
1. 处理信号 1.1 Linux 信号 常见的 Linux 信号如下表所示: 信号 值 描述 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL ...
- 在linux后台运行脚本的方法和命令
后台运行脚本 执行脚本test.sh:./test.sh 中断脚本test.sh:ctrl+c 在1的基础上将运行中的test.sh,切换到后台并暂停:ctrl+z 执行ctrl+z后,test.sh ...
- Autojs教程--3.如何手机后台运行脚本(七猫小说举例) (上)
啰嗦几句 在广大粉丝的支持下,决定还是坚持更新一下公众号,把Autojs的编程方面的技术和技巧分享给大家,本人这方面的技术不是很高,毕竟山外有山,人外有人,但乐于分享和探讨,对自己也是一个总结和提高. ...
- 修改rcS启动定制功能,后台运行脚本,新建子SHELL进程。
除了在rcS中编写了启动所需的必须功能命令后,我们还可以添加自己的定制功能.方法如下: 首先,在/usr/bin下,编写各个定制功能的脚本.注意修改权限 chmod a+x myscript 在脚本里 ...
- Windows可执行脚本后台运行脚本
目录 脚本说明: 代码内容: 执行方法: 后言 脚本说明: 1.使用java.python 写的一些小脚本,或者一些轻量级的服务,通过cmd窗口运行时,如何让它在后台运行的解决办法. 2.可支持所有的 ...
- Autojs教程--4.如何手机后台运行脚本(七猫小说举例) (下)
啰嗦几句 最近一直在思考如何使自己的脚本技术能更好一点,不瞒大家说,鄙人的技术远不是大咖级的,在脚本的技术上,还是需要像雕一块美玉一般,如切如磋,如琢如磨. 物理学家费曼说过,掌握并精通一门知识的最快 ...
- linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
我的环境ubuntu 20.04 借鉴 https://blog.csdn.net/ruiyelp/ 方法1: 切断当前的连接后脚本自动断掉 直接在后台运行脚本:./test.sh & 查看当 ...
- Linux 下后台运行程序,查看和关闭后台运行程序(转载)
1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...
- 如何在后台运行 Linux 命令
Linux 命令是使用终端与系统交互的好方法.但是,有时可能需要一段时间才能完成手头的任务.这迫使用户等待相当长的时间或完全生成一个新的 shell. 幸运的是,您可以通过一些简单的方法在后台运行 L ...
- android 无法后台运行,安卓模拟器无法后台?
怎么才能实现安卓模拟器后台绑定运行脚本?试过各个安卓模拟器,逍遥,蓝叠,鹦鹉,腾讯助手,试过各种绑定模式,没有一个可以绑定成功.难道安卓模拟器就不能绑定后台运行脚本? 程序如下: PutAttachm ...
最新文章
- Linux系统调用-- mount/umount函数详解
- CentOS 6 安装Hadoop 2.6 (四)运行简单例子
- 伪类 选择器优先级
- 计算机组成原理——Cache与主存的地址映射
- java AST 表达式_java AST JCTree简要分析
- 值得收藏的品牌案例—到集设,灵感即到
- DWZ (JUI) 教程 dwz框架 刷新dialog解决方案
- php微型mvc框架创建步骤
- Cloudera Manager 安装 CDH5.x 心得
- 理解 Linux 配置文件【转】
- 怎么做 空间杜宾模型_利用STATA创建空间权重矩阵及空间杜宾模型计算命令
- 小米air2se耳机只有一边有声音怎么办_小米蓝牙耳机Air2 SE,169元是否值得购买?值...
- C#实现秒杀器之网站登录
- java执行cls命令_java开发系统内核:cls 屏幕清空命令的实现
- C#脚本引擎CS-Script
- 2022-07-12 读书笔记:《写给所有人的极简统计学》
- python海龟作图好看图案_海龟作图---用Python绘图
- 秀一段《易语言》的源代码
- 美式九球比赛规则 (Nine-ball)
- 一位架构师用服务打动客户的故事之二