使用 ps axhw -o cmd 只输出Linux ps查询结果的CMD列,比如获取Jenkins容器进程中的CMD:
参考: https://stackoverflow.com/questions/65115463/how-to-print-only-cmd-from-ps-command-using-perl
#include <stdio.h>#include <string.h>
#include <stdlib.h>
int main(void)
{
EXEC SQL BEGIN DECLARE SECTION
char col1[256] = ""
char col2[256] = ""
char sqlString[1024] = ""//SQL完整串
EXEC SQL END DECLARE SECTION
FILE *fp
memset(sqlString,'\0',sizeof(sqlString))
sprintf(sqlString, "SELECT col1,col2 FROM tbl1")
EXEC SQL prepare slt_pre FROM :sqlString
if (sqlca.sqlcode)
{
printf("[%s,%d]预处理SQL[%s]发生数据库错误,sqlcode=%d\n",__FILE__,__LINE__,sqlString,sqlca.sqlcode)
return -2
}
EXEC SQL declare slt_cur cursor for slt_pre
if (sqlca.sqlcode)
{
printf("[%s,%d]定义查询游标发生数据库错误,sqlcode=%d\n",__FILE__,__LINE__,sqlca.sqlcode)
EXEC SQL free slt_pre
return -2
}
EXEC SQL open slt_cur
if (sqlca.sqlcode)
{
printf("[%s,%d]定义查询游标发生数据库错误,sqlcode=%d\n",__FILE__,__LINE__,sqlca.sqlcode)
EXEC SQL close slt_cur
EXEC SQL free slt_cur
EXEC SQL free slt_pre
return -2
}
if((fp = fopen("allName", "w")) == NULL ){
return -1
}
while(1)
{
memset(col1,'\0',sizeof(col1))
memset(col2,'\0',sizeof(col2))
EXEC SQL fetch slt_cur INTO :col1, :col2
if (sqlca.sqlcode == SQLNOTFOUND)//搜索到行尾退出循环
{
//printf("[%s,%d][T]Select Over!\n", __FILE__, __LINE__)
break
}
fprintf( fp,"%s\t%s\n",col1,col2)
}
fclose(fp)
EXEC SQL close slt_cur
EXEC SQL free slt_cur
EXEC SQL free slt_pre
return 0
}
查询的结果,写到一个指定的文件。其中"allName"是文件路径和名字。你可以搜一下fprintf怎么用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)