小编cat*_*ine的帖子

调用system()返回256

我想要 system() 在我的应用程序中打印 pstack 信息,但它失败并返回 256。但是我将如下代码拾取到一个新的主函数中,没关系。为什么?

char cmd[256] ;
string pstackCmd;
struct timeval tv;
struct tm lt;(&tv, NULL);

localtime_r(&tv.tv_sec, &lt);
sprintf(cmd, "pstack `pgrep app` > pstack_%04d%02d%02d%02d%02d%02d%03d",
                            lt.tm_year+1900,
                            lt.tm_mon+1,
                            lt.tm_mday,
                            lt.tm_hour,
                            lt.tm_min,
                            lt.tm_sec,
                            (int)(tv.tv_usec/1000));
pstackCmd = string(cmd);
int retValue = system(pstackCmd.c_str());
if ( retValue != 0)
{
    printf("pstack `pgrep app`,retValue:%d",retValue);
}
Run Code Online (Sandbox Code Playgroud)

c c++ solaris

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

c ×1

c++ ×1

solaris ×1