C++ 使用arm-none-linux-gnueabi-g编译时未执行system()++

C++ 使用arm-none-linux-gnueabi-g编译时未执行system()++,c++,linux,unix,C++,Linux,Unix,当使用arm-none-linux-gnueabi-g++编译此代码时,系统调用被跳过,除systemecho-nikhil之外的所有其他指令都被执行 为什么会发生这种情况以及如何避免该问题 事实上,在/bin/sh为bash版本2的系统上,系统无法从具有设置用户ID或设置组ID权限的程序正常工作,因为bash 2在启动时会删除权限。。。 您可以尝试使用Exec命令 使用 execl/system/bin/sh,sh,test.sh 其中test.sh是包含echo nikhil的脚本文件 #

当使用arm-none-linux-gnueabi-g++编译此代码时,系统调用被跳过,除systemecho-nikhil之外的所有其他指令都被执行

为什么会发生这种情况以及如何避免该问题

事实上,在/bin/sh为bash版本2的系统上,系统无法从具有设置用户ID或设置组ID权限的程序正常工作,因为bash 2在启动时会删除权限。。。

您可以尝试使用Exec命令

使用 execl/system/bin/sh,sh,test.sh

其中test.sh是包含echo nikhil的脚本文件

#include <stdio.h>
#include <stdlib.h>

int main()
{ 
    printf("Hello\n");
    system("echo nikhil");   
    printf("Hello\n");
    getchar();
    return 0;
}