shell笔记-shell中如何实现多线程

最近给双十一晚会做直播,并且双十一红包一角标广告形式投放出去,在预热阶段需要看下效果,数据团队没法给出一些指标数据,需要我们自己做数据分析给出,平时shell使用的少,很多数据分析的命令忘记了,趁此机会总结下:
nohup
可以在退出、注销账户、关闭终端的情况下程序仍然可以在后台运行,默认情况下 的所有输出都被重定向到一个名为
nohup.out的文件中,除非指定了文件。
如:
该命令的一般形式为:nohup command &
url=nohup command > myout.file 2>&1 &
我用到的如
nohup  ./red-run.sh  20161024 >red-run.sh.20161024.log 2>&1 &

&后台运行
 只要终端关闭,程序即停止运行,不能做到真正的后台运行

冒号用法
冒号标示空语句,首先冒号可以表示永真(相当于TRUE关键字)如while :;do...done(while循环的条件始终为真);其次冒号可以清空一个文件,:>log将冒号重定向到文件,log文件内容被清空,所以:>命名是常用的清空文件的命令;接着冒号最重要的用法是:不做任何事,只做参数展开。

子shell
() 圆括号结构: 能强制将其中的命令运行在子shell中
子shell只能继承父shell的一些属性,而子shell不可能反过来改变父shell的属性。子shell能够从父shell继承得来的属性有:当前的工作目录、环境变量、标准输入输出和错误输出、所有已打开的文件描述符、忽略的信号。

wait
wait是一个内建命令,用于等待后台执行的作业全部完成后再执行下面的命令,使用wait在shell中实现了多线程的同步功能

例如:
#!/bin/bash
sleep 10 &
sleep 5&
wait #等待10秒后,退出

例如2:
#!/bin/bash
sleep 10 &
sleep 5&
wait $! #$!表示上个子进程的进程号,wait等待一个子进程,等待5秒后,退出
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值