【每天三分钟搞定linux shell脚本24 后台模式运行】当运行脚本的时候在最后加上符号&,则对应的脚本在后台运行 。建立脚本为,
#!/bin/bashitem=1while [ $item -lt 3 ]dosleep 1date >> 1.txtdone
输入./test.sh &运行
运行后1.txt文件会不断增加内容,但是脚本以后台运行不会在终端占用 。运行结果为:
[1] 7872
输入jobs可以看到这个后台进程:
[1]+ 运行中 ./test.sh &
这个时候如果输入exit , 不会提示有后台进程在运行永久使用简单游脚本,而且后台进程也会退出 。因为终端会话退出的时候会给这个后台进程发送一个SIGHUP信号 。如果想要终端退出之后永久使用简单游脚本,进程不退出,可以让进程捕获SIGHUP信号 。当然还有另一个方法,使用nohup指令运行脚本,比如输入:
nohup ./bg.sh &
当用nohup并使用后台模式运行之后,即使退出终端,进程也不会收到SIGHUP信号 。并且nohup会自动把标准输出和标准错误重定向到nohup.out的文件中 。
一个运行的进程或者暂停的进程都是一个作业,使用jobs命令可以查看当前的作业状态 。输入:
jobs -l (-l是为了显示出pid)
我当前的输出为:
[1]- 24392 运行中 nohup ./bg.sh &[2]+ 27652 停止vi bg.sh
(上面的作业2是输入ctrl+z后暂停的进程)
其中 , +号被当作是默认作业,每个作业的前面有自己的序号 。如果后续操作不加序号 , 那么就被当做是在操作默认作业 。比如使用fg指令前台运行作业,就是把27652这个进程前台运行 , 如果输入fg 1,那么就是操作作业1了 。带-号的表示下一个默认作业 。
输入bg 1把1号作业后台运行,输入fg 2把2号作业前台运行 。
本文到此结束,希望对大家有所帮助!
猜你喜欢
- 2015年10月好玩手机游戏排行榜 前十手游推荐
- 今天来了一个推广支付宝扫一下就能成为商家版,可信吗?
- 一篇文章带你正确认识信用卡
- 安居房过户要带哪些证件?安居房过户要交哪些费用
- 学会科学、合理的配置DNS地址,以便让你的电脑访问互联网更加快捷。
- 金蝶软件发票反审核提示被单据关联,一波操作后朋友只给100元
- A股的新特性,隐形冠军企业
- 怎么能让下载东西变快?
- “家里养好树,子孙一直富”,6种“富贵树”优点多,建议种一棵
