📄 c.c
字号:
#include <unistd.h> /*CLIENT PROCESS */# include <stdio.h># include <sys/msg.h># include <sys/types.h># include <sys/ipc.h># include <sys/wait.h># include <errno.h># define msgkey 181struct mymsgform{ long mtype; char mpath[250]; }msg;main() /*MAIN PROGRAME*/{ int qid,pid; printf("(C)THE MSGKEY IS :%d\n",msgkey); if ((qid=open_queue(msgkey))==-1) { perror("open_queue"); exit(1); } msg.mtype=1; printf("(C)PLEASE INPUT THE PATH OF YOU WANT RUN PROGRAME!\n"); gets(msg.mpath); if ((send_message(qid,&msg))==-1) { perror("send_message"); exit(1); } printf("(C)THE QUEUE ID IS:%d\n",qid); printf("(C)THE PROCESS HAD SEND A MESSAGE!\n"); printf("(C)WAIT THE RESULT OF RUN BY SEVER!\n"); while ((read_message(qid,msg.mtype,&msg))==-1) { } printf(msg.mpath); printf(" (C)WORK FILISHED!\n");}int open_queue(int keyval) /*creat a message queue*/{int qid; if ((qid=msgget(keyval,IPC_CREAT|0660))==-1) { return(-1); } return(qid); printf("(C)THE KEY OF THE MSG QUEUE IS:%d\n",qid);}int send_message(int qid,struct mymsgform*msg) /*send message to message queue*/{ int result,length; length=sizeof(struct mymsgform)-sizeof(long); if ((result=msgsnd(qid,msg,length,0))==-1) { return(-1); } return(result);}int read_message(int qid,long type,struct mymsgform*msg) /*read mesaage from message queue*/{ int result,length; length=sizeof(struct mymsgform)-sizeof(long); if ((result=msgrcv(qid,msg,length,type,0))==-1) { return(-1); } return(result);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -