1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
创新互联公司公司2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元平坝做网站,已为上家服务,为平坝各地企业和个人服务,联系电话:13518219792
2、执行./lua文件进入命令操作模式后,按ESC,输入::q!。
3、键盘按“回车键”运行shell指令,此时会发现成功退出了文件的命令行操作界面。
判断进程是否存在。示例:
timer=20 #20s定时器
flag=1 #标识进程是否存在
while [ $timer -gt 0 ]
do
sleep 2
ps -aux | grep 进程名 | grep -v grep /dev/null #查询进程
[ $? -ne 0 ] flag=0 break #进程不存在了就退出循环
let timer-=1
done
[ $flag -eq 1 ] kill -9 $(ps -aux | awk '/ bash$/{print $1}')
多线程退出有三种方式:(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_tattr;pthread_tthread;pthread_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());来分离自己。
对所有用户设置自动注销功能:
首先,以root用户登录系统,输入 vi /etc/profile 命令,编辑profile文件。
查找TMOUT,若没有,则可以在文件最后添加如下语句:
TMOUT=300
export TOMOUT
如果查找到了,直接设置时间。
300表示自动注销的时间为300秒。
编辑好文件后,保存,退出,重新登录,设置生效。