我正在尝试在 Boost UTF 全局装置中检查正在运行的服务器进程。我正在像这样在我的夹具构造函数中调用系统来执行此操作...
class MyTestFixture
{
public:
MyTestFixture();
~MyTestFixture() ;
};
MyTestFixture::MyTestFixture()
{
int rc = system("pidof myserver > /dev/null");
if ( rc != 0 )
{
cout << "myserver not running so cannot continue" << endl;
fflush (stdout) ;
sleep(10);
exit(4) ;
}
cout << "fixture setup ok!" << endl ;
}
BOOST_GLOBAL_FIXTURE( MyTestFixture );
BOOST_AUTO_TEST_CASE( pgmiia_main_test1 )
{
// some test code...
}
当“myserver”运行正常时,一切都很好,但是当它不是时,我会崩溃。它不会进入 if 部分并退出。奇怪的是,如果我在 gdb 中运行它而 myserver 没有运行,它确实会像我预期的那样进入我的退出分支。
我对 Boost UTF 有点陌生。我正在使用动态链接执行此操作。有任何想法吗?
乔恩