ls&
ユーザーが何かを入力しているかどうかを確認したいので、シェルでバックグラウンドジョブls &
を設定できるようになります。bg_flag
ただし、次のコードは に対してチェックできませんls&&
。ls&&
ユーザーが入力した場合、または最後に複数のものが含まれている場合、バックグラウンドジョブと見なされたくないためです(Linuxシェルでも同じかどうかはわかりません)&
。
if (strstr(args[arg_count-1],"&")!=NULL)
//if (strcmp(args[arg_count-1],"&")==0)
{
bg_flag=1;
printf("I am a background job %d ",getpid());
}
これを修正するための適切な方法を教えてください。