xrdp远程 & watchdog 启用与测试 & WebRTC
sudo gedit /etc/xrdp/startwm.sh 在. /etc/X11/Xsession 前一行插入 xfce4-session
sudo service xrdp restart
name=Reconnect
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=5910
# modinfo softdog
filename: /lib/modules/3.2.0-4-686-pae/kernel/drivers/watchdog/softdog.ko
2. 加载模块
# insmod /lib/modules/3.2.0-4-686-pae/kernel/drivers/watchdog/softdog.ko
3. 此刻可见/dev/watchdog, 或创建
# mknod /dev/watchdog c 10 130
4. 查看dev并赋予权限
# ls -l /dev/watchdog
crw------- 1 root root 10, 130 Mar 21 16:27 /dev/watchdog# chmod o+rw /dev/watchdog
5. 测试使用watch dog
简单可写为:
# echo 0 > /dev/watchdog ///从此刻起计时,启用watchdog
# echo -n V > /dev/watchdog ///停用watchdog
6. 硬件与软件watchdog的区别
硬件watchdog必须有硬件电路支持, 设备节点/dev/watchdog对应着真实的物理设备, 不同类型的硬件watchdog设备由相应的硬件驱动管理。软件watchdog由一内核模块softdog.ko 通过定时器机制实现,/dev/watchdog并不对应着真实的物理设备,只是为应用提供了一个与操作硬件watchdog相同的接口。
硬件watchdog比软件watchdog有更好的可靠性。 软件watchdog基于内核的定时器实现,当内核或中断出现异常时,软件watchdog将会失效。而硬件watchdog由自身的硬件电路控制, 独立于内核。无论当前系统状态如何,硬件watchdog在设定的时间间隔内没有被执行写操作,仍会重新启动系统
看门狗是混杂设备,所以主设备号是10,/include/linux/miscdevice.h 中定义他的次设备号为130
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <errno.h> #include <signal.h> #include <time.h> #include <pthread.h> #include <sys/time.h> #include <linux/watchdog.h> #include <sys/ioctl.h> time_t backTime; struct tm *pBackTime; int wt_fd; static void sigAlarm(int sig) { '; (void)time(&backTime); pBackTime= localtime(&backTime); printf("day: %d; hour: %d; min: %d; sec: %d\n", pBackTime->tm_mday, pBackTime->tm_hour, pBackTime->tm_min, pBackTime->tm_sec); write(wt_fd, &flag, ); //Reset Watchdog 喂狗 alarm(); return; } int main() { char flag = 'V'; int ret; ; if(SIG_ERR == signal(SIGALRM, sigAlarm)) { perror("signal (SIGALARM) error"); } wt_fd = open("/dev/watchdog", O_RDWR); ) { printf("Fail to open watchdog device!\n"); } else { write(wt_fd,NULL,); printf("Turn on Watch Dog\n"); ret = ioctl(wt_fd, WDIOC_SETTIMEOUT, &timeout); if(EINVAL == ret) { printf("EINVAL Returned\n"); } else if(EFAULT == ret) { printf("EFAULT Returned\n"); } == ret) { printf("Set timeout %d secs success\n", timeout); } else { printf("Ret %d\n", ret); } } alarm(); ); write(wt_fd, &flag, ); printf("Turned off Watch Dog\n"); close(wt_fd); ; }
http://blog.sina.com.cn/s/blog_69a04cf401016gz4.html
xrdp远程 & watchdog 启用与测试 & WebRTC的更多相关文章
- ubuntu 13.04 xrdp 远程桌面连接问题[转载]
本人ubuntu12.04,遇到了同样的问题,用一下方法解决了,mark一下. ubuntu 13.04 xrdp 远程桌面连接问题. win 7 远程桌面连接 ubuntu desktop 有几种办 ...
- 启用WCF测试客户端的相关技巧
在Visual Studio之外打开WCF测试客户端有两种方法:第一种方法是到其所在路径(Visual Studio安装路径\Common7\IDE\WcfTestClient.exe)双击打开.第二 ...
- loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...
- Centos7安装Xrdp远程桌面
Xrdp是Microsoft远程桌面协议RDP的一个开源实现,它允许以图像方式控制远程系统. 测试环境 服务端: CentOS Linux release 7.7.1908 (Core) 客户端: W ...
- Xrdp远程连接到CentOS7系统配置
1 服务器端配置 1.1 查询是否已经安装epel库 打开已经安装了CentOS7的主机,以root用户登录,在桌面上打开一个终端,输入命令:rpm -qa|grep epel,查询 ...
- linux centos使用xrdp远程界面登陆
redhat6 安装xrdp 直接使用windows远程桌面连接登陆 下面介绍实现方法: 第一步:下载源码包,并安装一些依赖的软件下载xrdp源码包 wget http://downloads.so ...
- Centos 6.5 安装Xrdp 远程桌面
1. 安装源: Once you determine your architecture then you can install the correct EPEL repository with t ...
- C#实现远程开机(局域网测试通过)
首先介绍相关知识. UDP协议 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联 ...
- HTTP.SYS远程代码执行漏洞测试(ms15-034)
1.HTTP.SYS远程代码执行漏洞简介 首先漏洞编号:CVE-2015-1635(MS15-034 ) 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未 ...
随机推荐
- PL/SQL 访问网页(get or post方式)
在我们开发plsql程序的过程中,有时候难免要访问一些外部网站的数据.这个时候我们就要用到utl_http包. 使用utl_http包前需要注意的是,当前的用户下是否有访问外部网络的权限. 如下是自己 ...
- html5 + css3 + zepto.js实现的微信广告宣传页
最新学习html5 + css3, 参考微信的一个推广页写出一个实例巩固自己知识,自己已经将原实例打包到自己博客文件当中,但是不知道如何提供下载,如有需要的朋友可以联系我qq309666726
- 左偏树(Leftist Heap/Tree)简介及代码
左偏树是一种常用的优先队列(堆)结构.与二叉堆相比,左偏树可以高效的实现两个堆的合并操作. 左偏树实现方便,编程复杂度低,而且有着不俗的效率表现. 它的一个常见应用就是与并查集结合使用.利用并查集确定 ...
- 速卖通api--发起授权
<? $reqURL_onLine = "https://gw.api.alibaba.com/openapi/http/1/system.oauth2/getToken/494739 ...
- 关于boost::function与boost::bind函数的使用心得
最近开始写一个线程池,期间想用一个通用的函数模板来使得各个线程执行不同的任务,找到了Boost库中的function函数. Boost::function是一个函数包装器,也即一个函数模板,可以用来代 ...
- 让IE8兼容问题,参考文档bootstrap
问题:制作的页面基本没啥问题,只有IE8不好使 参考文档:bootstrap官网 方案一 方案二
- .Net4.0 ashx页面报错:检测到有潜在危险的Request.Form值(转)
原地址:http://zzhi191.blog.163.com/blog/static/1350849520111116518067/ web开发中难免要多到ajax技术. asp.net中我们处理a ...
- start_amboot()函数分析
一.整体流程 start_amboot()函数是执行完start.S汇编文件后第一个C语言函数,完成的功能自然还是初始化的工作 . 1.全局变量指针r8设定,以及全局变量区清零 2.执行一些类初始化函 ...
- Application(全局对象,ViewState
Application对象生存期和Web应用程序生存期一样长,生存期从Web应用程序网页被访问开始,HttpApplication类对象Application被自动创建,直到没有一个网页被访问时结束, ...
- GBin1插件推荐之马可波罗(Marco Polo),jQuery的自动补齐插件 - Autocomplete Plugin
让我们Google一下"jQuery autocomplete plugin"(jquery自动补齐插件).在过去的4年中,我已经Google了很多次这个组合了.然而结果并没有变化 ...