C で基本的なシェルを実装する必要があります。必要なことの 1 つは、コマンドを持つ関数を実装して実行することです。私のコード:
pID=fork();
if (pID == 0)
execvp(tmp[0], tmp);
else if (pID > 0)
{
printf("%d", pID);
wait(NULL);
}
else
printf("Failed to create proccess \n");
問題は、tmp に入力したコマンドが何であっても、プログラムが再度プロンプトを表示し、それ以外は何もしないことです。たとえば、 ( Ubuntuのntpadgedit
を開くために)書いた場合、それは開かれません。または、書いた場合、Ubuntuの端末のように出力が表示されません。gedit
ls -a