Linux自定义初始化和sigterm

发布于 2025-01-28 14:47:04 字数 716 浏览 3 评论 0原文

我尝试用锈语来建立自己的初量。
这是我的示例代码:

use std::process::Command;

fn main() {
    loop {
        println!("Welcome to custom operating system");
        let result = Command::new("/bin/sh")
            .spawn();

        match result {
            Ok(mut child) => {
                let _r = child.wait();
            }
            Err(_err) => {
                println!("Restart shell")
            }
        }
    }
}

注意:此代码在我的自定义内核上工作而没有任何问题。
现在,我对Init和Sigterm Signal有一个误解。
我应该在我的初始化或内核处理吗?
上实现陷阱。
我阅读 Man 2 Kill ,但我仍然感到困惑。

I try to build my own init with rust language.
this is my example code :

use std::process::Command;

fn main() {
    loop {
        println!("Welcome to custom operating system");
        let result = Command::new("/bin/sh")
            .spawn();

        match result {
            Ok(mut child) => {
                let _r = child.wait();
            }
            Err(_err) => {
                println!("Restart shell")
            }
        }
    }
}

Note: this code work on my custom kernel without any problem.
now i have a misunderstood about init and SIGTERM signal .
should i implement trap SIGTERM on my init or kernel handle it ?
I read man 2 kill but still i have confused .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文