易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下的主动对象类的实现

#pragma once
#include <pthread.h>
class ThreadWrapper
{
public:
    virtual ~ThreadWrapper();
    static void EnterFunc(void *p);
    int Open();
    int Close();
    bool TestCancel();
    void Wait();
    virtual void Svc();
protected:
    ThreadWrapper();
private:
    bool m_stillOpen;
    int m_threadNum;
    pthread_t m_handle;
};
*************************************************
#include "ThreadWrapper.h"
ThreadWrapper::ThreadWrapper()
: m_stillOpen(false)
{}
ThreadWrapper::~ThreadWrapper()
{
    if(m_stillOpen)
    {
        Close();
        Wait();
    }
}
/*
Functional: The enter function of the thread.
*/
void ThreadWrapper::EnterFunc (void *p)
{
    ThreadWrapper* bp = static_cast <ThreadWrapper*> (p);
     bp->Svc();
}
/*
Functional: Create the thread.
*/
int ThreadWrapper::Open ()
{
    m_threadNum = threadNum;
    int ret = pthread_create(&m_handle, NULL, EnterFunc, this);
    if (ret != 0)
   {
       return -1;
    }
    m_stillOpen = true;
    return 0;
}
int ThreadWrapper::Close()
{
    pthread_cancel(m_handle);
    m_stillOpen = false;
    return 1;
}
void ThreadWrapper::TestCancel()
{
     pthread_testcancel();
}
void ThreadWrapper::Wait()
{
    pthread_join(m_handle, NULL);
    m_stillOpen = false;
}
void ThreadWrapper::Svc()
{}
此主动对象的用法如下:
1:先定义主动对象类,派生自ThreadWrapper即可,然后实现Svc()虚方法
cla


相关文档:

LINUX 自启动管理

前言
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。 
阅读之前建议先看一下附图。 
本文中假设inittab中设置的init tree为: 
/etc/rc.d/rc0.d 
/etc/rc.d/rc1.d 
/etc/rc.d/rc2.d 
/etc/rc.d/rc3.d 
/etc/rc.d/rc4.d 
/etc/ ......

Linux基础系列之判断符在shell中的使用方式


作者:康华,华清远见嵌入式学院讲师。
1. 关于某个档名的『类型』侦测(存在与否),如 test -e filename
-e 该『档名』是否存在?(常用)
        -f 该『档名』是否为档案(file)?(常用)
        -d 该『文件名』是否为目录(direct ......

linux 重定向


1. 标准输入的控制
语法:命令< 文件将文件做为命令的输入。
例如:
mail -s “mail test” das@163.com < file1 将文件file1 当做信件的内容,主
题名称为mail test,送给收信人。
2. 标准输出的控制
语法:命令> 文件将命令的执行结果送至指定的文件中。
例如:
ls -l > list 将执行&ldqu ......

linux 应急相应工具包和livecd

http://www.forensicswiki.org/wiki/Helix3
http://www.sleuthkit.org/index.php
恢复步骤:
root@srv01 [/home/recovery]# ./fls -a -r -p /dev/sdb3 > sdb3usrdirlist.txt
root@srv01 [/home/recovery]# grep -i "access_log" /home/recovery/sdb3usrdirlist.txt
r/r 2195490:    local/ ......

linux shell 交换式登录

使用的脚步有四个:【backup_unasyn.sh          //备份所以执行的脚步
                    host_ip.sh          &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号