スクリプトを実行するための魔法のsysreqキーの組み合わせはありますか?

スクリプトを実行するための魔法のsysreqキーの組み合わせはありますか?

高いRAM使用量レベルに関連しているように見えるシステムハング現象が発生しています(スワップはほとんど使用されませんが)。

私は魔法のsysreqの組み合わせを含むスクリプトを使用してThunderbirdや他のメモリブタを殺すことができるようにしたいと思います。

Alt+でスクリプトを実行する方法はありますかSysReq

ベストアンサー1

カーネルソースコードを変更した場合は、スクリプトをAlt + SysRqにリンクできます。 Alt+SysRq 処理は で定義されていますdrivers/tty/sysrq.c。たとえば、Alt + SysRq + fは、プロセスを終了するsysrq_handle_moom()ために呼び出されるようにスケジュールされた関数を呼び出します。out_of_memory()

static void moom_callback(struct work_struct *ignored)
{
    /* ... */
    if (!out_of_memory(&oc))
    /* ... */
}

static DECLARE_WORK(moom_work, moom_callback);

static void sysrq_handle_moom(int key)
{
        schedule_work(&moom_work);
}
static struct sysrq_key_op sysrq_moom_op = {
        .handler        = sysrq_handle_moom,
        .help_msg       = "memory-full-oom-kill(f)",
        .action_msg     = "Manual OOM execution",
        .enable_mask    = SYSRQ_ENABLE_SIGNAL,
};

おすすめ記事