#include #include #include #include /* kill */ #include #include #define TRUE 0 #define FALSE -1 #define SIGUSR3 9 typedef struct { int BYTESPRO; int BYTESAVL; char MSGID[7]; char RESRVD; char EXCPDATA[100]; } ERRSTRUCTURE; /* Define the error return structure */ ERRSTRUCTURE errcode;/* Error Code Structure for RCVMSG */ typedef struct { char job[10]; char user[10]; char jobnbr[6]; } JOBINFO; JOBINFO jobinfo; int sig; void main(void){ char job[11], user[11], jobnbr[7], msg[256]; Qwc_JOBI0800_t jobi0800; sigset_t sigmask; int pid; strcpy(job, "QPADEV000F"); strcpy(user, "QTR "); strcpy(jobnbr, "689582"); printf("* シグナル送信 %s, %s, %s\n", job, user, jobnbr); getchar(); errcode.BYTESPRO = 160; errcode.BYTESAVL = 0; memcpy(jobinfo.job, job, 10); memcpy(jobinfo.user, user, 10); memcpy(jobinfo.jobnbr, jobnbr, 6); QUSRJOBI(&jobi0800, sizeof(jobi0800), "JOBI0800", &jobinfo, " ", &errcode); if(errcode.BYTESAVL != 0){/* APIERR */ sprintf(msg, "%s/%s/%s のジョブ情報を検索することができません。 ", job, user, jobnbr); printf("%s\n", msg); getchar(); exit(-1); }/* APIERR */ pid = jobi0800.Process_ID_Number; sig = SIGUSR3; if(kill(pid, sig) < 0){/* ERR */ sprintf(msg, " シグナル送信エラー :%s", strerror(errno)); printf("%s\n", msg); getchar(); exit(-1); }/* ERR */ printf(" シグナル sig=%d を送信しました。 \n", sig); getchar(); }