linux 系统默认的无 *** 作超时时间怎样设置

linux 系统默认的无 *** 作超时时间怎样设置,第1张

用户超时注销

如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有 *** 作后,自动从系统注销。

编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:

TMOUT=600

则所有用户将在10分钟无 *** 作后自动注销

线程退出有三种方式:(1)执行完成后隐式退出;(2)由线程本身显示调用pthread_exit函数退出;pthread_exit(void*retval)(3)被其他线程用pthread_cance函数终止:pthread_cance(pthread_tthread)用event来实现。在子线程中,在循环内检测event。while(!e.is_active()){}当退出循环体的时候,自然return返回。这样子线程会优雅的结束。注意:选用非等待的检测函数。pthread线程有两种状态,joinable(非分离)状态和detachable(分离)状态,默认为joinable。joinable:当线程函数自己返回退出或pthread_exit时都不会释放线程所用资源,包括栈,线程描述符等(有人说有8k多,未经验证)。detachable:线程结束时会自动释放资源。Linuxmanpagesaid:Whenajoinablethreadterminates,itsmemoryresources(threaddescriptorandstack)arenotdeallocateduntilanotherthreadperformspthread_joinonit.Therefore,pthread_joinmustbecalledonceforeachjoinablethreadcreatedtoavoidmemoryleaks.因此,joinable线程执行完后不使用pthread_join的话就会造成内存泄漏。解决法:1.//创建线程前设置PTHREAD_CREATE_DETACHED属性pthread_attr_tattrpthread_tthreadpthread_attr_init(&attr)pthread_attr_setdetachstat(&attr,PTHREAD_CREATE_DETACHED)pthread_create(&thread,&attr,&thread_function,NULL)pthread_attr_destroy(&attr)2.当线程为joinable时,使用pthread_join来获取线程返回值,并释放资源。3.当线程为joinable时,也可在线程中调用pthread_detach(pthread_self())来分离自己。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8384248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存