信号量睡眠问题

今天测试发现一个bug,当对我负责的模块一块儿执行两个命令时会有错误,例如"command 1;command 2"。函数

分析代码发现两个问题,测试

第1、command 1中存在建立后台进程,当建立后台进程时,本进程继续执行,忽略后台进行执行状况,因此,可能存在后台进行为执行完成,而command 2就开始执行的状况,命令执行顺序错乱。进程

第2、command 1中发了一个SIGTERM信号,而模块处理函数中存在sleep类型函数,当存在此类函数时,进程会睡眠而让出CPU,此时会继续执行command 2,命令执行顺序错乱。后台

相关文章
相关标签/搜索