gpt4 book ai didi

linux - 如果进程之前已启动,如何阻止该进程启动?

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

我的应用程序有多个进程,包括身份验证进程。如果连接已建立并且身份验证成功,我需要阻止启动身份验证。我怎样才能实现这种行为?平台 - Linux。

最佳答案

您可以利用共享信号量和小型共享内存。我们将信号量称为互斥体,将共享内存称为 bool is_authenticated。 mutex 初始化为 1,is_authenticated 初始化为 false。

那么您的身份验证过程将变为:

wait(mutex);

if (!is_authenticated)
authenticate();
is_authenticated = true;

signal(mutex);

然后您就必须处理身份验证过期问题。因此,当 session 结束时:

wait(mutex);

assert(is_authenticated == true); /* if not, you have been compromised */
deauthenticate();
is_authenticated = false;

signal(mutex);

关于linux - 如果进程之前已启动,如何阻止该进程启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16164759/

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