把函数放到后台运行
时间:2019-04-16 23:59:05 来源:igfitidea点击:
- &操作符用于将命令放在后台,释放终端。
- 你也可以将一个函数放在后台。
如何把一个函数放在后台?
name(){
echo "执行函数任务"
sleep 1
}
# 将函数放到后台
name &
# 做其他事
示例
在备份时,如何显示任务进度
#!/bin/bash
# progressdots.sh - 在备份时显示进度
progress(){
echo -n "##代码##: Please wait..."
while true
do
echo -n "#"
sleep 5
done
}
dobackup(){
# 备份命令
tar -zcvf /dev/st0 /home >/dev/null 2>&1
}
# 后台开始运行进度函数
progress &
# 保存函数进程PID
# 后面需要使用PID来终止该函数
MYSELF=$!
# 开始备份
dobackup
# 终止函数
kill $MYSELF >/dev/null 2>&1
echo -n "...done."
echo

