gpt4 book ai didi

c - 执行官和我;我怎样才能让它为我工作?

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:54 25 4
gpt4 key购买 nike

我创建了一个 shell,当我使用 system(1) 时它可以工作,但规范说明不能。我最后尝试使用 execvp,但我不太确定如何使用它。如有任何帮助机会,我们将不胜感激。

代码->

char *token = NULL;
char line[LINE_MAX];
char *line2 = NULL;
char *tempraryToken = NULL;
char *command = NULL;
char args[LINE_MAX];

int numSpaces = 0;
int i;
int strleng = 0;
while( 1 )
{
if( scanf(" %[^\n]", line) > 0) ) //prune off the newline char
token = strtok( line, ";" ) //break up different commands
//on the same line by ;
do{
strleng = strlen(token);
for( i = 0; i < strleng; i++ )
{
if(token[i] == ' ') numSpaces++; //find out if there are spaces
}
i = 0;
if( numSpaces >= 1 ) //if there are spaces
{
line2 = token;
temporaryToken = strtok( line2, " ") //break by spaces
do{
//if it's before any spaces
if(i == 0){
command = temporaryToken;
}
else strcat(args, temporaryToken);
strtok( NULL, " ");
while (temporaryToken != NULL);
}
execvp(command, args); //this could be any of the exe commands
//that's what I'm looking for
token = strtok( NULL, ";" ) //move to next token
while( token != NULL );
}

最佳答案

基本上,要在execvp 之后继续运行,您需要fork 您的进程,在子进程中运行execvp等待waitpid 在父级中获取它。记住这一点,自己做一些研究;-)

关于c - 执行官和我;我怎样才能让它为我工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11862685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com