每天三分钟搞定linux shell脚本24 后台模式运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天三分钟搞定linux shell脚本24 后台模式运行相关的知识,希望对你有一定的参考价值。

参考技术A 当运行脚本的时候在最后加上符号 & ,则对应的脚本在 后台运行 。建立脚本为,

输入 ./test.sh & 运行

运行后1.txt文件会不断增加内容,但是脚本以后台运行不会在终端占用。运行结果为:

输入 jobs 可以看到这个后台进程:

这个时候如果输入exit,不会提示有后台进程在运行,而且后台进程也会退出。因为终端会话退出的时候会给这个后台进程发送一个 SIGHUP信号 。如果想要终端退出之后,进程不退出,可以让进程捕获SIGHUP信号。当然还有另一个方法,使用 nohup 指令运行脚本,比如输入:

当用 nohup 并使用后台模式运行之后,即使退出终端,进程也不会收到SIGHUP信号。并且nohup会自动把标准输出和标准错误重定向到nohup.out的文件中。

一个 运行的进程或者暂停的进程 都是一个作业,使用 jobs 命令可以查看当前的作业状态。输入:

我当前的输出为:

(上面的作业2是输入 ctrl+z 后暂停的进程)

其中, + 号被当作是默认作业,每个作业的前面有自己的序号。如果后续操作不加序号,那么就被当做是在操作默认作业。比如使用 fg 指令前台运行作业,就是把27652这个进程前台运行,如果输入 fg 1 ,那么就是操作作业 1 了。带-号的表示下一个默认作业。

输入 bg 1 把 1号作业 后台运行,输入 fg 2 把 2号作业 前台运行。

linux bash 后台运行脚本三种方法:&nohupsetsid

基本方法

./test.sh &

让shell关闭,进程而不死

nohup ./test.sh &

同上

setsid ./test.sh &

参考文章:在linux后台运行脚本的方法和命令

以上是关于每天三分钟搞定linux shell脚本24 后台模式运行的主要内容,如果未能解决你的问题,请参考以下文章

每天三分钟搞定linux shell脚本10 字符串相关的if判断

编写一个shell脚本,输出所有尾数是5的三位数

Linux定时执行shell

Linux肝!Shell 脚本编程最佳实践

linux bash 后台运行脚本三种方法:&nohupsetsid

15分钟搞定 Linux Bash 脚本,小白进阶教程