system��ԭ����ʵ���ǵ���fork�����ӽ���ȥִ��shell���Ȼ�����һ��shell�����״ֵ̬��linux��man system���Կ�������ֵ˵����
1.�������ֵ����-1����system����ִ��ʧ�ܣ�ȷ��˵��fork�����ӽ���ʧ�ܡ�
2.shellִ�����һ������״ֵ̬���ڷ���ֵ�ĵ�8λ��ʹ��WEXITSTATUS����Ի��״ֵ̬��
3.ʹ��WIFEXITED��ȡ����ֵ�ж��Ƿ�ִ�гɹ������������ͳɹ���
���ϣ����Կ���������������Ҫ�ж�system����ֵ������-1��ôfork�ɹ��ˣ�Ȼ���ж�WIFEXITEDΪ����ô����shell�ɹ�������ж�WEXITSTATUS���shellִ��״ֵ̬�Ƿ�Ϊ0���dzɹ���
int sh_shell(const char *command)
{
int ret = system(command);
if (-1 == ret)
{
printf("sh_shell fork fail");
return -1;
}
else
{
printf("sh_shell exit ret = 0x%x", ret);
if (WIFEXITED(ret))
{
if (0 == WEXITSTATUS(ret))
{
printf("sh_shell success");
return 0;
}
else
{
printf("sh_shell fail, shell status: %d", WEXITSTATUS(ret));
return -1;
}
}
else
{
printf("sh_shell exit status = %d", WEXITSTATUS(ret));
return -1;
}
}
}
�ڽű������뷵���Զ���ֵ��Ҳ�ǿ���ͨ��return����exit���ظ�������ͨ��system����ֵ��á�
�������ø��µ�ַ��//m.ajphoenix.com/linux/32546.html