如何只输出Linux ps查询结果的CMD列

如何只输出Linux ps查询结果的CMD列,第1张

通过 ps --help a 查询ps的参数:

使用 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怎么用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7445228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存