标签:
今天测试发现一个bug,当对我负责的模块一起执行两个命令时会有错误,例如"command 1;command 2"。
分析代码发现两个问题,
第一、command 1中存在创建后台进程,当创建后台进程时,本进程继续执行,忽略后台进行执行情况,所以,可能存在后台进行为执行完成,而command 2就开始执行的情况,命令执行顺序错乱。
第二、command 1中发了一个SIGTERM信号,而模块处理函数中存在sleep类型函数,当存在此类函数时,进程会睡眠而让出CPU,此时会继续执行command 2,命令执行顺序错乱。
标签:
原文地址:http://my.oschina.net/u/2005414/blog/491290