gpt4 book ai didi

c - Linux 命令菜单(例如 ls、ipconfig 等),用于 fork 并使用 execl 将命令作为子进程运行

转载 作者:行者123 更新时间:2023-11-30 16:19:30 26 4
gpt4 key购买 nike

我已经获得了一些代码,我需要对其进行调整以显示 Linux 命令菜单,并且当选择命令时,程序应该 fork 并使用 execl 将命令作为子进程运行并显示其 PID。我是 C 新手,所以到目前为止我一直在努力:/

#include <unistd.h>
#include <stdio.h>
#include "sys/types.h"
#include <sys/wait.h>
int main(){

pid_t pid;
int status = 0;
int i;
pid= fork() ;
if(pid!=0) {
wait(&status);
printf ( " I am the parent my PID is %d, myPPID is %d, \n ",getpid(),getppid());
printf( "Mychild process has finished. \n ");
}else {
printf ( " I am the child , my PID is %d , my PPID is %d \n",getpid(),getppid());
sleep(2);
execl ( "/bin/ls",".",(char*)0);
printf( "Can you read this ?\n " ) ;
}
return 0;
}

最佳答案

打电话之前

fork() 

代码应该显示菜单,可能是通过对 printf() 的一些调用,

然后输入用户选择

然后使用该选择(可能通过 switch() 语句)将适当的文本放入

char *args[] variable 

然后在调用 execl() 时使用该 args[] 变量

关于c - Linux 命令菜单(例如 ls、ipconfig 等),用于 fork 并使用 execl 将命令作为子进程运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55614178/

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