我正试图从"who -b“输出中解析系统启动时间。
#define _XOPEN_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
void GetSystemTurnOnTime()
{
FILE *fp;
char *pTemp = NULL;
char szBuffer[1024] = {0};
int iLen;
struct tm tm;
char buf[255];
fp = popen("who -b", "r");
fgets(szBuffer, sizeof(szBuffer), fp);
pTemp = szBuffer;
while(isspace(*pTemp))
++pTemp;
iLen = strlen(pTemp);
pTemp[iLen - 1] = '\0';
printf("%s\n", pTemp);
pclose(fp);
}
int
main(void)
{
GetSystemTurnOnTime();
exit(EXIT_SUCCESS);
}输出:在正常执行中,它提供:系统引导2015-07-31 11:08
如果我与守护进程集成,那么它会给出: Jul 31 11:08
如果我使用gdb执行守护进程,那么它再次给出:系统引导-07-31 11:08可以帮助我解释为什么它提供了两种不同的格式。
发布于 2015-08-03 13:14:01
您可以使用以下命令:
who -b | awk '{$1=""; $2=""; print $0}' | date -f -https://stackoverflow.com/questions/31745704
复制相似问题