本文整理汇总了C++中Shell::Run方法的典型用法代码示例。如果您正苦于以下问题:C++ Shell::Run方法的具体用法?C++ Shell::Run怎么用?C++ Shell::Run使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Shell
的用法示例。
在下文中一共展示了Shell::Run方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main( int argc, char *argv[] )
{
Shell *susan = new Shell();
susan->Run();
delete susan;
return 0;
}
示例2: ServerProcess
int Server::ServerProcess(){
int fd;
sockaddr_in cliaddr;
int addrlen = sizeof(cliaddr);
if((fd = accept(sockfd, (sockaddr*)&cliaddr, (socklen_t*)&addrlen)) < 0){
return -1;
}
//set_nonblock(fd);
int id = InsertNewClient(fd, cliaddr);
char _msg[256] = {0};
sprintf(_msg, "*** User \'%s\' entered from %s/%d. ***\n", clients[id].nickname, clients[id].ip, clients[id].port);
int pid = fork();
if(pid == 0){
dup2(fd, STDIN_FILENO);
dup2(fd, STDOUT_FILENO);
dup2(fd, STDERR_FILENO);
close(fd);
Shell sh;
printf("%s", _msg);
sh.Prompt();
sh.Run(id, shm_id);
exit(0);
}else if(pid > 0){
//int sem = shm_sem_open(msg[id].key);
int sem = msg[id].id;
shm_sem_wait(sem);
msg[id].Init();
shm_sem_post(sem);
//shm_sem_close(sem);
for(int i=1;i<MAX_CLIENT_SIZE;i++)
if(clients[i].used && i != id)
msg[i].Append(_msg);
client_pid.insert(pid);
close(fd);
return 0;
}else{
return -1;
}
}
示例3: main
int main(int argc, char *argv[])
{
Shell shell;
shell.Run(argc, argv);
return 0;
}