gpt4 book ai didi

linux - 实现用于重启的 linux 系统调用

转载 作者:太空宇宙 更新时间:2023-11-04 11:52:22 25 4
gpt4 key购买 nike

我正在尝试在 linux 中实现一个系统调用,以便在经过秒数后重新启动系统(系统调用参数)。我是 Linux 和操作系统的新手,我们将不胜感激。

我遇到了麻烦,因为在/kernel/sys.c 中它不允许我使用 system() 或 sleep(),错误是它是一个隐式声明......当我尝试做的时候。

SYSCALL_DEFINE1(myrestart, int, msg)
{
int timer = msg * 35;
sleep(timer);
system("shutdown -r now");
return 0;
}

最佳答案

这行不通。如果你定义一个系统调用,你就在内核上下文中。在内核上下文中,您不能调用属于 c std 库的库。您只能调用属于内核一部分的函数。此外 shutdown 是一个用户空间命令。如果您对重启的实现方式感兴趣,请查看 kernel/reboot.c。

关于linux - 实现用于重启的 linux 系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55668741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com