69,369
社区成员
发帖
与我相关
我的任务
分享
int main(int argc, char *argv[])
{
int i = 0;
char buffer[1000] = "msg";
PROC_INFO stProcess;
// if(utDaemonStartup(argv[0], &stProcess, sigUsr1) != RET_OK)
// {
// exit(1);
// }
fprintf(stderr, "Call utInitLog(%s)\n", argv[0]);
if(utInitProc(argv[0], NULL, sigUsr1) != RET_OK) //初始化 与closeUTShm 应该是成对出现的 ,相当与open
{
fprintf(stderr, "utInitLog(%s)失败\n", argv[0]);
exit(1);
}
fprintf(stderr, "Call updateShmStatus(%s)\n", argv[0]);
updateShmStatus(argv[0], PSTAT_WORKING);
fprintf(stderr, "Call closeUTShm(%s)\n", argv[0]);
closeUTShm();//关闭UTshm 与utInitProc是成对出现的
for(i = 0; i < argc; ++i)// 将输入参数保存至buffer
{
strcat(buffer, " ");
strcat(buffer, argv[i]);
}
while(1)
{
printf("%s\n", buffer);//输入输入参数
sleep(1);
}
int main(int argc, char *argv[])
{
int i = 0;
char buffer[1000] = "msg"; ///变量定义不用说了吧
PROC_INFO stProcess; ///这里应该是定义了一个结构体
// if(utDaemonStartup(argv[0], &stProcess, sigUsr1) != RET_OK)
// {
// exit(1);
// }
fprintf(stderr, "Call utInitLog(%s)\n", argv[0]); /////将argv[0]格式化数据输出到一个流上
if(utInitProc(argv[0], NULL, sigUsr1) != RET_OK) ////判断函数utInitProc的返回值是否正常。RET_OK应该是个宏定义
{
fprintf(stderr, "utInitLog(%s)失败\n", argv[0]); ///不正常执行,功能和上类似
exit(1);
}
fprintf(stderr, "Call updateShmStatus(%s)\n", argv[0]); //////
updateShmStatus(argv[0], PSTAT_WORKING); //////这个应该是调用更新shm状态的函数
fprintf(stderr, "Call closeUTShm(%s)\n", argv[0]);
closeUTShm(); //////关闭
for(i = 0; i < argc; ++i) /////进入一个循环,argc是命令行中输入的参数个数
{
strcat(buffer, " "); ////这里两句的作用是把命令行中的参数都写到buffer中
strcat(buffer, argv[i]);
}
while(1) /////定义一个死循环
{
printf("%s\n", buffer); ////输出buffer
sleep(1); /////睡1毫秒(windows下),如果是linux,这里是睡1秒。
}
}