Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何禁用/启用cpu核心*而不使用*根访问_Linux_Cpu_Multicore - Fatal编程技术网

Linux 如何禁用/启用cpu核心*而不使用*根访问

Linux 如何禁用/启用cpu核心*而不使用*根访问,linux,cpu,multicore,Linux,Cpu,Multicore,我一直在尝试使用禁用或启用linux机器中的一个或多个CPU内核 sudo sh -c "echo 'n' > /sys/devices/system/cpu/cpu1/online" 只是想,如果有一种方法可以做同样的事情,但没有根访问。 谢谢您可以使用setuid 但是,出于bash脚本的安全原因,setuid被禁用,但是您可以编写一个程序,可能是用C编写的,它可以同时调用 系统(“echo'n'>/sys/devices/system/cpu/cpu1/online”) 命名可执行

我一直在尝试使用禁用或启用linux机器中的一个或多个CPU内核

sudo sh -c "echo 'n' > /sys/devices/system/cpu/cpu1/online"
只是想,如果有一种方法可以做同样的事情,但没有根访问。 谢谢

您可以使用setuid

但是,出于bash脚本的安全原因,setuid被禁用,但是您可以编写一个程序,可能是用C编写的,它可以同时调用

系统(“echo'n'>/sys/devices/system/cpu/cpu1/online”)

命名可执行文件stopcpu,然后执行以下操作

chmod a+x stopcpu
sudo chown root stopcpu
sudo chmod u+s stopcpu

从现在起,./stopcpu将以root权限运行,而无需输入root密码,这仅对该文件有效。

允许对非root用户这样做可能不是一个好主意。但第二个命令需要root密码!!但是你必须运行这些命令一次。我假设您拥有对计算机的root访问权限,但您希望避免始终输入密码。使用此方法,您只需输入一次密码,就可以在没有密码的情况下永远调用stopcpu。如果您没有机器的根访问权限,我希望这是不可能的,因为如果不是真的,这是一个非常严重的安全问题。。。