#include #include #include #include #include #include #include #include #include #include #include #include #include #define CHAR_BUFFER 256 #define FILE_LENGTH 256 void reverse(char s[]) { int c,i,j; for(i=0,j=strlen(s)-1;i0); if(sign<0) s[i++]='-'; s[i]='\0'; reverse(s); } int main(int argc, char *argv[]) { int fd = -1; int fp; char* file; char buf[CHAR_BUFFER]=""; char adrr[256] = "/home/mamon/michal/5_1/test_mon.txt"; uid_t id; time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); fd = open(adrr,O_WRONLY | O_CREAT | O_APPEND, 0644); // DRMAA powinna byc thread-safe, wiec nazwa pliku musi byc za kazdym razem inna if(fd==-1) exit(0); file = malloc(FILE_LENGTH); memset(file,'\0',FILE_LENGTH); strftime (file, 40, "[%x %X] \n",timeinfo); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); gethostname(buf,CHAR_BUFFER); /*strcat(file,"Hostname: "); strcat(file,buf); strcat(file,"\n");*/ sprintf(file,"Hostname: %s\n",buf); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); /*memset(buf,'\0',CHAR_BUFFER); strcat(file,"UID: "); id = getuid(); itoa(id,buf); strcat(file,buf); strcat(file,"\n");*/ sprintf(file,"UID: %d\n",getuid()); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); sprintf(file,"Getcwd: "); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); getcwd(file,FILE_LENGTH); strcat(file,"\n"); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); sprintf(file,"argv[1] - job_id: %s\n",argv[1]); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); sprintf(file,"argv[2] - user_arg: %s\n",argv[2]); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); sprintf(file,"argv[3] - state: %s\n",argv[3]); write(fd,file,FILE_LENGTH); memset(file,'\0',FILE_LENGTH); sprintf(file,"argv[4] - exit_status: %s\n\n",argv[4]); write(fd,file,FILE_LENGTH); close(fd); return 0; }