捕捉到信号后,如何等待一个进程退出

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

捕捉到信号后,如何等待一个进程退出

#1

帖子 自由建客 » 2012-03-22 16:28

代码: 全选

trap "Exit 1" 1 2 3 9 11 15

Exit()
{
	# 这里,退出前必须等待 cat 写入文件操作完成,如果它正在写的话
	rm -f "$LockFile"
	exit $1
}
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 捕捉到信号后,如何等待一个进程退出

#2

帖子 lilydjwg » 2012-03-22 16:53

wait
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 捕捉到信号后,如何等待一个进程退出

#3

帖子 自由建客 » 2012-03-22 17:04

:em06
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 捕捉到信号后,如何等待一个进程退出

#4

帖子 自由建客 » 2012-03-22 17:11

汗,这个 cat 是孙子进程!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 捕捉到信号后,如何等待一个进程退出

#5

帖子 lilydjwg » 2012-03-22 17:13

自由建客 写了:汗,这个 cat 是孙子进程!
那就用 flock 来通信。
头像
Think1st
帖子: 45
注册时间: 2012-02-07 23:08

Re: 捕捉到信号后,如何等待一个进程退出

#6

帖子 Think1st » 2012-03-23 16:21

代码: 全选

while kill -0 "$pid"; do
            sleep 0.5
done
在这里,问题比答案更抢手。
回复